请教关于mysql数据库表delete后,重新恢复记录的方法?

goodname 2003-03-14 05:59:45
由于程序误操作,mysql的一个张表的记录用delete语句被清空了,并且没有日志文件。
但是
table_name.frm <----------表结构文件仍然正确(表结构已知)
table_name.myd <----------可以看到一些数据
table_name.myi <----------主要是这个文件,应该不正确

用myisamchk.exe察看,可以看到丢失的被删除的记录数。
---------------------
C:\mysql\bin>myisamchk -ies c:\mysql\data\chat\table_name
Checking MyISAM file: c:\mysql\data\chat\table_name
myisamchk: MyISAM file c:\mysql\data\chat\table_name
myisamchk: warning: 1 clients is using or hasn't closed the table properly

Record blocks: 0 Delete blocks: 685
Record data: 0 Deleted data: 129020
Lost space: 0 Linkdata: 0
MyISAM-table 'c:\mysql\data\chat\table_name' is usable but should be fixed

C:\mysql\bin>
--------------------

那么

请教数据还可以恢复吗?如何恢复?

...全文
961 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodname 2003-03-18
  • 打赏
  • 举报
回复
在此up@
leehq 2003-03-18
  • 打赏
  • 举报
回复
不能恢复了,你没有比较过吗,因为myd文件在表被删除后内容已经完全变了,被填写了01020304这样的东西来标识被删除的行!
goodname 2003-03-17
  • 打赏
  • 举报
回复
up#
请各位高手出手!!!
shuixin13 2003-03-14
  • 打赏
  • 举报
回复
MySQL在用 DELETE FROM tA 删除记录时
并没有将它物理删除,
只是更改它的标志位,
所以在理论上来说是可以恢复的,
不过目前好像还没有发现有这个一个工具,
而如果你自己来重新建立的话,
几乎是不可能的

56,677

社区成员

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

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