日期:2014-05-16  浏览次数:20942 次

紧急求助:mysql数据丢失,如何恢复
服务器断电了,其中一个数据库中的一个表的数据丢失了,具体是这样的:
我用select count(*) from tablename 得到的总数是对的,有100多万条。
但是我select 30多万以后的数据总是找不到,当时我太冲动了,我以为是索引坏了,所以我取消了主键,然后再建立主键,让其重新建立索引,结果就悲剧了,总的数据只有30多万条了。也就是说,断电后,数据是被损坏了,只剩30多万条了。
这是时候原本可以用恢复命令恢复之类的,但是由于我重新建了主键,现在用
myisamchk *.MYI 命令已经检查不出问题了,不知道怎么办了。

我用 mysql> check table table_name 检查了一下,结果如下:
mysql> check table mytablename;
+----------------------------+-------+----------+-----------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+----------------------------+-------+----------+-----------------------------------------------------+
| MyDataBase.mytablename | check | error | Size of indexfile is: 4776960 Should be: 5654528 |
| MyDataBase.mytablename | check | error | Corrupt |
+----------------------------+-------+----------+-----------------------------------------------------+
2 rows in set (0.24 sec)

各位大侠,能否帮我想想办法?看我的数据库还有没有得救?在此,先谢谢给位了!
如果还需要其他的数据,请回帖告诉我,我会把所需要的分析数据贴上来。

------解决方案--------------------
可能是文件系统数据丢失了,可以试试恢复文件系统的数据看。