Percona Xtrabackup备份mysql (完整备份与增量备份)

归类于数据库技术 一条评论

Xtrabackup简介

Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁)。XtraBackup支持所有的Percona Server、MySQL、MariaDB和Drizzle。

XtraBackup优势 :

1、无需停止数据库进行InnoDB热备

2、增量备份MySQL

3、流压缩到传输到其它服务器

4、能比较容易地创建主从同步

5、备份MySQL时不会增大服务器负载

Xtrabackup的特性是针对大数据进行备份恢复使用,数据库大小一般在G以上或10G以上,对于数据量小的Mysql库完全可以使用mysqldump来解决,备份和恢复速度快而且操作简便快捷,这里对mysqldump命令就不做介绍了。
阅读全文 《Percona Xtrabackup备份mysql (完整备份与增量备份)》

4,417 Views , , , ,

MySQL数据库备份策略与恢复

归类于数据库技术 参与评论

数据库的备份至关重要,之前的几篇文章也讲解了如何备份MySQL,以及如何搭建MySQL的主从同步策略,同步和备份,我们会经常认为主从同步也可以作为MySQL的备份策略,因此,我们也在这里强调一点:
主从同步不能代替数据库备份

举例说明,如果我们在主数据库上误删了一个table,那么从数据库也会执行相应的操作,如果没有备份,这就会导致删掉的数据就无法找回。(即使回滚二进制日志也不一定能找回,因为二进制日志的保存是有时间限制的,并且回滚二进制日志非常复杂)。

因此数据库的完全备份、增量备份是至关重要的。

MySQL的备份和恢复策略以及主从同步问题。

阅读全文 《MySQL数据库备份策略与恢复》

953 Views ,

如何添加新数据库到MySQL主从复制列表

归类于数据库技术 参与评论

在LAMP架构中,我们一般使用MySQL作为数据库,而MySQL主从也是高性能网站架构中必要的环节(如drupal、Wordpress等架构的网站)。本文大概讲解一下MySQL主从的复制以及出现的问题。

MySQL主从复制一般情况下我们会设置需要同步的数据库,使用参数配置选项,binlog-do-db,可以在master上指定需要同步的数据库,replicate-do-db在从数据看上指定需要同步的数据库。(一般只设定master上的binlog-do-db即可,不需要两个同时设定。以防万一,在slave也可以加上replicate-ignore-db)。
我们遇到的问题是,在master上面新增了一个数据库,这个时候如何把新加的这个数据库添加到MySQL的主从复制链里?(即不重新复制整个库的情况下,重新设置主从复制)。

阅读全文 《如何添加新数据库到MySQL主从复制列表》

3,196 Views , , ,

MySQL主从同步机制及同步中的问题处理

归类于数据库技术 3 条评论

大型网站架构中,MySQL主从配置是必不可少的,尤其对于Drupal这样数据库访问频繁的框架极为重要。基本的MySQL主从配置大家都比较熟悉,但是在主从配置的结构中,由于多种原因,主从配置经常出现无法同步,以及MySQL由于主从配置的原因而崩溃或者Down机,这里就本人的经验做一些简单介绍。

阅读全文 《MySQL主从同步机制及同步中的问题处理》

17,717 Views , , ,

MYSQL获取随机结果集的解决方案

归类于数据库技术 一条评论

在我们的业务需求当中,经常有需要取得随机结果的需求,比如随机会员,随机文章列表,随机文章跳转等等,我们大家都知道MYSQL的ORDER BY RAND()有性能问题,本文翻译自国外的一篇博文,大家来学习一下作者是如何解决这个问题的,这个解决方案具有在生产环境中实施的可行性。

译文开始:

作为第一个例子,我们假设数据的ID从1开始,并且在1和最大值之间是连续的。

把事情交给应用层(PHP, JSP, Python, Ruby …)

第一个思路:我们可以简化整个工作,如果我们可以预先在应用层计算出随机ID

SELECT MAX(id) FROM random;
## 在应用层生成随机ID <random-id>
SELECT name FROM random WHERE id = <random-id>

因为MAX(id) == COUNT(id), 我们仅仅是在1和最大值之间生成了随机数,然后传给数据库取出随机记录。

第一个SELECT是已经被优化好的,不需要任何计算。第二个是eq_ref(参见MYSQL EXPLAN语句)是一个常量,所以也非常快。

把事情交给数据库

在应用层做这件事真的是必要的么?我们不能在数据库中做么?
阅读全文 《MYSQL获取随机结果集的解决方案》

2,302 Views , , , ,

在Drupal的数据库层应用MySQL Master/Slave

归类于Drupal | 其他 | 数据库技术 7 条评论

关于drupal性能的优化,文章Drupal高性能经验漫谈中提及多种方法,但在数据库的架构方面,我们还没有讨论到MySQL的主从架构,即Master/Slave如何在drupal中应用。

众所周知,MySQL的master/slave模式对于提高数据库访问层的性能是非常有效的,本文就在Drupal中如何应用mysql当master/slave做一下简单介绍。

默认情况下Drupal6并不支持master/slave结构,即使是Drupal的Pressflow版本,也是只提供相关函数,并不能把已有的db_query定向到slave数据库,因此有必要在drupal到query机制中加入router的功能。

根据Drupal.org上面这篇文章的讨论,笔者总结了一下,并作了相应的改良,http://drupal.org/node/469274
阅读全文 《在Drupal的数据库层应用MySQL Master/Slave》

991 Views , , ,

顶部