为相当大的数据库(MyISAM / InnoDB)制作 MySQL 备份的最佳方法

Win*_*lly 8 mysql backup database-backup

目前,我们有一个强大的 MySQL 数据库,它运行着几个基于 Django 的高流量网站以及一些规模适中的电子商务网站。因此,我们拥有大量使用 InnoDB 和 MyISAM 表的大型数据库。

不幸的是,我们最近遇到了流量的问题,所以我设置了另一个主服务器来帮助减少读取/备份。

现在我只是简单地使用带有一些参数的 mysqldump 并且它被证明是好的......直到现在。显然 mysqldump 是一种缓慢快速的方法,但我相信我们已经不再使用它了。我现在需要一个很好的替代方案,并且一直在研究使用 Maatkits mk-parallel-dump实用程序或 LVM 快照解决方案。

简洁的简短版本:

  • 我有一个相当大的 MySQL 数据库需要备份
  • 当前使用 mysqldump 的方法效率低下且速度缓慢(导致问题)
  • 查看诸如 mk-parallel-dump 或 LVM 快照之类的内容

任何建议或想法将不胜感激 - 因为我必须重新做我们做事的方式,我宁愿把它做​​得正确/最有效:)。

War*_*ner 5

我在 MySQL 复制和夜间 tarball 方面取得了很好的成功。对于较小的数据库、mysql 数据库和模式,我使用了旨在使用 mysqlhotcopy 和 mysqldump 的脚本组合。

InnoDB热备份是一个很棒的商业产品,但我不确定它如何处理同一数据库中的混合表。pQd 对 XtraBackup 的建议可以很好地与此进行比较。

其他人喜欢 LVM 快照,我认为这绝对是需要考虑的事情。最终,解决方案的组合可能是最好的。

值得注意的是,这是一个古老的话题。在高性能 MySQL书、MySQL 手册和以前的 ServerFault 问题之间 - 这已经在一般基础上用完了。看: