我们有一个无害数据库mysql数据库,所以我们丢失了许多不同的mysql备份策略。有些人谈论mysqldump,有些人谈论第三部分工具。我们还计划运行分区的一些表。有什么好的工具来帮助这个任务吗?
发布于 2012-08-16 18:43:52
今天,几乎没有关于InnoDB备份的任何讨论(当然,在我看来)。Percona的Xtrabackup是一种广泛的、功能丰富和稳定的解决方案,它提供:
Xtrabackup来源于InnoDB热备份,现在被称为MySQL企业备份。还有额外的包装脚本,允许额外的功能重置。
较小的数据库可能会从常见的mysqldump中受益。这取决于您的数据库大小和流量。mysqldump是带有--single-transaction的事件,它在DB服务器上放置了很高的负载,并为积累锁做了准备。它没有你想象的那么热(参见我的这个职位关于备份温度)。
我经常使用LVM快照。最大的好处是这些都是DB无知的,所以没有任何与DB相关的bug会影响到这种类型的备份。最大的缺点是I/O过高,请查看mylvmbackup。
如果您有ZFS或其他支持快照的文件系统,这可能是一个很好的解决方案。如果您有一个支持快照的存储设备,那也很好。所有快照都是DB不知道的,尽管您通常希望编写这个All mylvmbackup的脚本,以便及时捕获完成备份的时间点(按DB顺序)。
发布于 2012-08-16 19:26:12
我是个老派的DBA,听我说.
备份的文章
Apr 17, 2011:如何优化大型数据库的mysqldump?Jun 26, 2011:如何启用MySQL的所有可能的备份选项Oct 01, 2011:快速MySQL备份May 16, 2012:如何在MySQL中创建快照备份May 22, 2012:MySQL服务器备份 (包括如何使用MySQL for Windows)Jul 24, 2012:如何将MySQL数据库(它是InnoDB和MyISAM的混合物)复制到同一服务器上?在我之前的文章中,我建议并行执行mysqldumps以及一个文件。我甚至建议试试XtraBackup。我不想把你限制在mysqldump。有些数据库太大了,因此LVM快照是唯一可能的解决方案。
发布于 2012-08-16 15:36:11
在选择备份策略时要考虑的重要事项:
这就是我要按优先次序处理这一问题的方式。这就是我客观答案的结尾:)
现在,根据我的经验,就主观部分而言:)
对于现在很大一部分DB设置来说,使用mysqldump作为唯一的备份解决方案是不可伸缩的。它速度慢,创建巨大的文件,导入mysqldump需要花费很长时间,而且让mysqldump为您提供一个真正的“时间点”恢复是很棘手的,而且所有数据都是一致的。我使用mysqldump备份同样非常关键且更容易导致用户错误(如用户表或user_profile)的v小表(每个表不到200 or )。当我回到这些情况时,常见的用例是有人问“这个用户什么时候更改了?为他们设置X的值是多少”,所以这不是数据丢失,而是数据混乱的情况。对于真正的“着火的世界”备份,我使用Percona的xtrabackup。它是免费的,开源的,在非常积极的开发,非常容易自动化。
https://dba.stackexchange.com/questions/22612
复制相似问题