我有一个包含 3 个节点的 Percona XtraDB 集群。使用数据库的应用程序仅连接到其中一个节点。
我想mysqldump
通过运行以下命令在不为应用程序提供服务的节点之一上执行“热备份”: -
mysqldump --opt --skip-lock-tables --skip-add-locks \
--single-transaction --routines > dump.sql
这会影响服务于应用程序的节点的性能吗?或者我可以在其他节点上每 2 或 3 小时运行一次吗?
答案1
您还可以使用 Percona XtraBackup(已由 Percona XtraDB Cluster 提供并使用),这是一个热备份工具(如果您只使用 InnoDB 表,您应该这样做,因为您使用的是 PXC),而不是 mysqldump。如果您使用 Percona XtraBackup,则可以使用增量备份。例如:
- 每天一次完整备份
- 每小时增量备份
这会减轻服务器的压力。您可以在在线文档中找到更多相关信息:
https://www.percona.com/doc/percona-xtrabackup/2.4/how-tos.html#recipes-for-xtrabackup
使用 mysqldump --single-transaction 时还需要注意一些事项:http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_single-transaction