【求救】误删MySql数据库中一个表中的表数据,如何恢复?

hhdn 2009-06-12 04:22:17
请教各位大侠,小弟误删了MySql数据库中一个表中的表数据(注意:是表数据而不是这个表),而且之前没有备份,请问还有办法恢复这个表的数据么?非常着急,谢谢各位!!!!!
...全文
1890 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-06-12
  • 打赏
  • 举报
回复

机会有,但代价很大!

如果你用的myisam的存储引擎,如果你用的是delete from tbl;则MyISAM会直接将MYD文件长度清空。这时,你的数据还在磁盘上(文件中第一簇坏掉了,会丢一点数据)!这种情况下,找专门的数据恢复人员(如果你非常熟悉操作系统的磁盘格式,当然你也可以自已一个扇区一个扇区把数据拿出来拼接)

如果你用的innodb, 则数据还不会被马上从文件中删除,这时备份下你的ibdata*,ib_logfile*,然后找innodb的开发人员帮你从文件中找出这些数据。(如果你愿意仔细研究一下innodb的数据格式的话,也是可以的,你的数据会在数据文件和日志文件中都有,关键是要有人懂它的文件数据格式)
WWWWA 2009-06-12
  • 打赏
  • 举报
回复
注意:是表数据而不是这个表:没有备份、日志没有打开,就不用想了,没有办法
ACMAIN_CHM 2009-06-12
  • 打赏
  • 举报
回复

[Quote](注意:是表数据而不是这个表)[/Quote]

所以,如果没有备份,用EASY RECOVER之类的恢复软件是找不回的了。
WWWWA 2009-06-12
  • 打赏
  • 举报
回复
如果没有备份、日志没有打开,用EASY RECOVER之类的恢复软件看看能否找回
ACMAIN_CHM 2009-06-12
  • 打赏
  • 举报
回复

如果有二进制日制的话可以参考这个贴子的操作恢复你的数据。

http://topic.csdn.net/u/20090608/20/e50feb34-0a07-4675-80d4-2eac35973286.html?58720
使用mysqlbinlog恢复数据





ACMAIN_CHM 2009-06-12
  • 打赏
  • 举报
回复

之前没有备份?!

看一下你的二进制日志有没有打开。如果是ON的,则还可以通过这个来恢复。



56,782

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧