大规模备份 MySQL 的良好做法

大规模备份 MySQL 的良好做法

我是数据库新手,尤其是 MySQL 新手。有没有什么好的做法可以大规模备份 MySQL?例如,我已经发现了一些东西。

  • 使用mysql备份(物理备份)而不是mysqldump

  • 将 key_buffer_size 增加到 RAM 的 20%(不仅仅是对于备份极其有用的选项)。

  • 看看工具马特吉特还有一些用于备份。

如果您知道任何有关 MySQL 备份的好东西,请分享。

答案1

不要使用 Maatkit 中的工具。(这些工具是我编写的。)它们很危险。我在其他地方写过关于这个的内容。 Percona 工具包是 Maatkit 的替代品,它不包含这些工具。

如果您有 MySQL Enterprise 订阅,mysqlbackup 是个不错的选择。如果没有,请考虑使用 Percona XtraBackup,这是一款功能几乎相同的免费工具。

答案2

这不是一个愚蠢的问题。你应该认真对待备份。

让我们看看您的三个选择:

1) Use mysqlbackup (physical backup) instead of mysqldump.

MySQL 的企业备份在 Baron Schwartz 的文章中提到过,因此我就不再重复了。

2) increase key_buffer_size to 20% of RAM (not just for backup extremely helpful option).

key_buffer_size 控制 MyISAM 密钥缓冲区的大小,用于缓存 MyISAM 表的索引页。它们在备份中不起作用。例如,如果您使用 mysqldump 并执行SHOW PROCESSLIST;,您将看到类似

SELECT /* SQL_NO_CACHE */ FROM tblname

这可以防止缓存崩溃。否则,在备份期间,所需的数据将被不必要地从 MySQL 缓存中推出。

3) take a look at tools of maatkit there are few for backup.

Percona 特色mk-并行-转储mk-并行-恢复。Percona 最近宣布这些工具已弃用。有些人仍在自行承担风险使用这些工具。

我实际上编写了自己的数据库和表并行转储版本,并将算法发布在 DBA StackExchange 中

Percona 现在有 Percona Tools。它不包含任何备份工具。备份工具作为 XtraBackup 单独销售。恕我直言它有优点也有缺点,但它绝对是大型安装的理想选择

如果您正在寻找时间点恢复,那么这种方法并不理想,因为 XtraBackup 备份数据的时间点基于 XtraBackup 完成的时间,而不是 XtraBackup 启动的时间。如果传入数据的速率几乎与备份过程本身一样快,这一点很快就会显现出来。理论上,如果传入数据的速率与备份过程一样快或更快,则备份过程将永远无法完成。这是 2011 年 5 月在 Percona Live Conference 现场会议上发表的讲话只要你能接受这一点以及你当前的数据传入速率,那么 XtraBackup 就是你的解决方案

答案3

您可以创建一个 MySQL 集群并使用第二个节点作为备份。

相关内容