共计 953 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章给大家分享的是有关 navicat 删除的数据可不可以还原的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考。一起跟随丸趣 TV 小编过来看看吧。
navicat 删除的数据能还原吗?
navicat 删除的数据是可以还原的。用 navicat 删除数据库中的入侵数据,导致删顺手了,把一些看似重复数据的重要数据在表中直接右键删除掉了(相当于 delete from table 命令),而该数据库没有做过这些数据的备份,同时没有开启二进制日志,常规的恢复方法彻底走入死路。
在解决的过程中,做过以下几种尝试:
1. 了解到如果开启了日志,直接 mysqlbinlog 使用日志恢复即可。
2. 如果不是删除了一个表的部分数据,而是删除整个表,那么可以在删除后马上用磁盘数据恢复软件尝试恢复。(因为删除表后会有文件被删除,而删除表的部分数据,文件还是存在)
3. 找数据恢复的公司,该公司号称用 ibdata1 就能恢复,于是我使用工具分析 ibdata1,一页一页查看有没有历史记录存在,最后发现页中只存放了现有数据。
而使用 ibdata1 恢复数据,应该是在了解数据表结构的前提下,数据库除 ibdata1 外其他数据受损不能正常使用数据库时尝试,而不是删了表数据后恢复什么的。(事实上,这个文件是存储现有表数据的,其实也可以设置成每个表一个文件。)
4. 最后发现 mysql 下有 ib_logfile0 和 ib_logfile1 两个文件,其实这两个文件里,记录了 Mysql 的一些事物日志,用于事务的前滚后滚,是 Mysql 自身使用的,这个文件用文本工具打开后,有很多乱码,但却可以查找到被删除的少量数据的 insert 记录,极少数的乱码通过前后语句找出了原文,最终通过事物日志恢复了删除的文件。
注:用事物日志恢复,需要几个前提。
1:知道被删除数据的大概位置,不要这边查找,那边又不断有新数据插入。
2:因为有很多乱码,适用于查找少量数据,而不是用作大量数据的恢复,浪费体力。
3:如果二进制日志没开,没有备份,那么只能用这种方法恢复了。
感谢各位的阅读!关于 navicat 删除的数据可不可以还原就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
向 AI 问一下细节