MySQL 表校验和 - MySQL 转储之前还是之后?

MySQL 表校验和 - MySQL 转储之前还是之后?

我目前就职的公司有一个在晚上运行的脚本,它会获取生产环境中的 MySQL 转储并将其导入到暂存环境中。这是一个非常基本的设置 - 没有复制,没有花哨的备份或迁移实用程序。实际上只是一个 mysqldump 和导入。

偶尔会遇到数据不一致的问题。在寻找一些解决方案来验证数据完整性时,我找到了该CHECKSUM TABLE命令。

如果我想使用CHECKSUM TABLE,应该在什么时候在服务器上运行?在之前还是之后mysqldump?或者,如果在表未锁定的情况下进行备份,那么依赖校验和是不是一个坏主意?数据的来源是活动生产 mysql 服务器。因此,如果可能的话,我想找到一种方法来确认数据完整性,而无需锁定生产数据库中的表。

谢谢

答案1

我同意 @younix 的观点 - 解决问题而不是绕过它。您的备份不一致,因为您没有锁定数据库/表。找到一种方法来获得一致的备份,您的问题就会得到解决。

我取得了良好的效果LVM 快照但还存在其他解决方案。

相关内容