2012-03-13 142 views
1

是否有任何方法从mysql数据库中检索已删除的记录?如何从MySQL中检索已删除的记录

+1

打开备份。你确实需要备份,对吧? – 2012-03-13 08:18:42

+0

你承诺了吗?如果不只是回滚。 – 2012-03-13 08:18:52

+0

取决于您正在使用的存储引擎。 – Bobby 2012-03-13 08:19:13

回答

1

删除的记录都消失了(或者被改写的这么惨,你不能恢复它们)。如果您启用了自动提交功能,系统会在您完成每个语句时提交它(如果您已关闭自动提交功能,则立即进行回滚 - 唷,您已保存 - 但您使用自动提交功能运行,是不是?)。

另一种方法是回复创建缺失记录的活动 - 你可以这样做吗?您可以重新运行更新的任何程序,也可以从二进制日志(如果仍然有二进制日志)重播它们。当然,这可能是不可能的。

因此,您需要从某处恢复数据 - 您的数据库的备份(使用mysqldump创建)或您的文件系统(MyISAM表的数据文件都是简单的结构化并在磁盘上 - 恢复的InnoDB表是由ibdata文件的共享使用而变得复杂)。

+0

千万不要说永远 - http://www.mysqlperformanceblog.com/2012/02/20/how-to-recover-deleted-rows-from-an-innodb-tablespace/ – akuzminsky 2014-02-14 01:49:24