备份 MySQL 服务器的最佳方法是什么?我想要一种不需要关闭服务器的方法。InnoDB热备份是否有必要,或者我是否只使用 MySQL 管理员工具中提供的备份工具。其中一个工具相比另一个工具有什么优势?
答案1
我们使用 mysqldump,它在 MySQL 运行时工作。我们开始使用 mysqldump,因为当我们的需求较小时,它是最容易设置的,而且它似乎能满足这些需求。从那时起,我们的数据库就不断增长,但我们还没有超出 mysqldump 的承受范围。它是否适合您将取决于您的数据库的大小、它们的通常操作负载,以及可能还有很多其他因素。
答案2
看看 percona 的 xtrabackup - 它是 innodb 数据库的 mysqlhotcopy 的有趣的开源替代品。
您可以阅读更多相关信息这里
答案3
mysqldump可以使用,但不能保证持续的数据集,除非您在转储期间锁定所有表。这将使数据库处于只读模式,但将确保转储一致。
您可以使用以下命令锁定表:
FLUSH TABLES WITH READ LOCK;
当你完成后你可以使用以下命令释放锁:
UNLOCK TABLES;
答案4
设置MySQL 复制。作为奖励,您将获得一个服务器来运行繁重的报告作业和 mysqldump,而不会影响您的主要生产数据库。