无法修复Mysql表

我有一个ARCHIVE表,我根本无法修复,我已经尝试删除分区,但仍然得到这个错误:

 alter table promo_tool_view_44 REMOVE PARTITIONING; ERROR 1034 (HY000): Incorrect key file for table 'promo_tool_view_44'; try to repair it 

我已经尝试修复表,但我得到这个答复:修复表promo_tool_view_1;

 +-----------------------------+--------+----------+-----------------------------+ | Table | Op | Msg_type | Msg_text | +-----------------------------+--------+----------+-----------------------------+ | vad_stats.promo_tool_view_1 | repair | error | Partition p1 returned error | | vad_stats.promo_tool_view_1 | repair | error | Corrupt | +-----------------------------+--------+----------+-----------------------------+ 2 rows in set (0.21 sec) 

我该如何解决这个问题?

谢谢,
佩德罗

如果你还没有做到这一点:closures你的数据库,并备份它。 维修操作是危险的。

可悲的是,我会强烈推荐备份磁带。 分区p1中的某些内容明显被破坏了。 但是有一些技巧可能会让你的数据恢复。

myisamchk实现了很多没有在cli中find的东西。 尝试

 myisamchk --safe-recover myisamchk --recover 

按照这个顺序,看看你有没有更多的运气。 有很多的标志可以帮助你。 完整的文档可以在这里find

http://dev.mysql.com/doc/refman/5.5/en/myisamchk.html

cli中的完整修复文档可以在http://dev.mysql.com/doc/refman/5.5/en/repair-table.htmlfind。

一旦你完成修复,你应该find你为什么得到数据库损坏的第一位。 这对于MySQL数据库来说是不正常的。

对于ARCHIVE表,我发现修复的唯一方法是从一个从服务器覆盖表文件。 但请大家如果有人作为一个解决scheme,请帮助我们,以防止未来的灾难