MySQL恢复不一致的数据库

6 浏览
0 Comments

MySQL恢复不一致的数据库

作为对这个问题的跟进:

如果我不停止数据库服务器,并且我的表不一致,MySQL是否仍然可以从中恢复(通过删除不一致的行)?或者备份完全无用?

我一直以来都是通过备份/var/lib/mysql来进行备份...但我从未使用过它们。如果事后发现我无法使用它们,那将是可怕的。

0
0 Comments

MySQL数据库恢复不一致的问题可能是由于在备份过程中文件的复制时间较长,而文件在复制过程中可能会发生变化,导致备份文件是一个不一致的快照。这意味着备份文件的开始部分可能包含比结束部分更旧的数据。此外,所有文件之间还需要保持同步。尽管MySQL会尝试恢复这种情况,但无法保证其能够成功恢复。

为了解决这个问题,可以使用诸如LVM快照或者使用mysqldump命令的--single-transaction选项来获取一致的快照。另外,在备份过程中也可以将表设置为只读状态。

然而,需要明确的是,即使MySQL可以通过崩溃恢复机制重新启动,但无法使用不一致的快照进行恢复。因此,不能仅仅依靠简单的文件复制来进行备份。

0