Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL恢复不一致数据库_Mysql - Fatal编程技术网

MySQL恢复不一致数据库

MySQL恢复不一致数据库,mysql,Mysql,作为对这一问题的后续行动: 如果我不停止数据库服务器,并且我的表不一致,MySQL还能从中恢复(通过删除不一致的行)?还是备份完全没有用 很长一段时间以来,我一直在备份/var/lib/mysql。。。但我从来没用过。如果我不得不这样做(即事后)发现我做不到,那就太糟糕了。一个一致的快照(来自同一时刻的所有数据)是可以的-这(希望)就是崩溃时发生的情况,MySQL(特别是InnoDB)是专门为从中恢复而设计的,尽管在进行崩溃恢复时可能需要一段时间才能启动。对于MyISAM表-好吧,你是自己的

作为对这一问题的后续行动:

如果我不停止数据库服务器,并且我的表不一致,MySQL还能从中恢复(通过删除不一致的行)?还是备份完全没有用

很长一段时间以来,我一直在备份
/var/lib/mysql
。。。但我从来没用过。如果我不得不这样做(即事后)发现我做不到,那就太糟糕了。

一个一致的快照(来自同一时刻的所有数据)是可以的-这(希望)就是崩溃时发生的情况,MySQL(特别是InnoDB)是专门为从中恢复而设计的,尽管在进行崩溃恢复时可能需要一段时间才能启动。对于MyISAM表-好吧,你是自己的

问题是,复制文件需要一段时间,并且在复制文件时文件可能会发生更改,因此备份文件可能是不一致的快照。包含旧数据的文件的开头比结尾!此外,所有文件都需要彼此同步。MySQL将尝试,但不能保证它会从这种情况下恢复

因此,您可以使用类似LVM快照的东西来及时获取一致的快照,或者使用mysqldump进行单事务处理,或者在备份表时使表为只读。

一致的快照(来自同一时刻的所有数据)很好-这(希望)是崩溃和MySQL(特别是InnoDB)中发生的情况设计用于从中恢复,尽管启动可能需要一段时间,因为它需要崩溃恢复。对于MyISAM表-好吧,你是自己的

问题是,复制文件需要一段时间,并且在复制文件时文件可能会发生更改,因此备份文件可能是不一致的快照。包含旧数据的文件的开头比结尾!此外,所有文件都需要彼此同步。MySQL将尝试,但不能保证它会从这种情况下恢复


因此,您可以使用LVM快照之类的工具来及时获取一致的快照,或者使用mysqldump和--single transaction,或者在备份表时将表设置为只读。

也许我的问题不清楚。我知道不一致的快照是不好的,但是MySQL是否可以使用不一致的快照(通过任何崩溃恢复机制)使用
/var/lib/MySQL
中的内容进行备份和运行?否。脏关机是的,不一致的快照否。您不能依赖使用普通文件副本的备份。也许我的问题不清楚。我知道不一致的快照是不好的,但是MySQL可以使用不一致的快照(通过任何崩溃恢复机制)使用
/var/lib/MySQL
中的内容进行备份并运行吗?否。脏关机是的,不一致的快照否。您不能依赖使用普通文件拷贝的备份。