技术项目 - MySQL从库不适合用于备份

我们有很多客户在他们的Slave上备份数据库并且觉得对于他们来说这已经足够了。从专业角度出发我们对此并不认同,因为Slaves经常和Masters不一致. 这是怎么发生的呢?有许多不同的情况, 虽然MySQL多年来表现的很好,Slaves仍然经常和Masters数据不一致并且会经常损坏,所以你不应该指望能在从库上做好备份(当然有备份总比没有备份要好)。

MySQL的主从复制简单和可靠得令人惊奇,但是这种简单也伴随着MYSQL相当宽松的数据完整性定义,而这会使得Master和Slaves的数据在多种情况下都可能不同。我们甚至看到过客户的每台Slave和Master彼此数据各不相同,有时候每周都能看到。有许多种情况会导致这样的问题,比如重复的key,不确定的程序被执行,常见的LIMIT不确定问题,等等。在你的数据库主从复制日志中看到Warning警告是特别正常的。

所以我们通常推荐在Master上做备份,这样你总是可以能得到正确的数据。我们会用各种先进的方法来做备份,通常尽量采用InnoDB引擎,这样备份的时候不会发生锁表,我们经常用高性能的硬件和合理的数据库配置来减小对数据库性能的影响。这能保证合适的备份,完整的数据和良好的性能。

有一些很好的工具可以解决同步的问题,并且我们已经开始给客户使用了,包括并且特别是老的Maatkit系统,这个系统现在由世界顶尖的MySQL的咨询公司Percona进行维护。特别是那些要对从库整个重新同步不切合实际,或者复制出现错误的的大型系统,我们会用这些工具来扫描Slaves从而发现差异,并且测试其他能够修复和重新同步数据的工具,所以我们经常每周都要进行修复工作。

利用这些工具,理论上来说客户可以在Slaves上进行备份工作,尽管我们迄今为止还没有这样做,但我们一直在测试和评估这些复杂且强大的工具。在2012年夏天之前我们应该会在多数系统上运行这些工具来周期性的产生同步报告,并增强包括在Slaves上进行良好备份保证的数据库备份选项(对于金融或者其他关键数据,我们通常还是会推荐在Master上做备份)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值