无法修复 Mysql 表

无法修复 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)

我该如何解决这个问题?

谢谢,
佩德罗

答案1

如果您还没有这样做:关闭您的数据库并备份。修复操作很危险。

遗憾的是,我强烈建议您备份磁带。分区 p1 显然出了问题。但有一些技巧可能会让您的数据恢复。

myisamchk 实现了很多 cli 中没有的功能。尝试

myisamchk --safe-recover
myisamchk --recover

按此顺序检查,看看是否还有运气。有很多标志可以帮助您。完整文档可在

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

有关 CLI 修复的完整文档可在此处找到http://dev.mysql.com/doc/refman/5.5/en/repair-table.html

修复完成后,您应该首先查明数据库损坏的原因。这对于 MySQL 数据库来说并不正常。

答案2

对于 ARCHIVE 表,我发现的唯一解决方法是从其中一个从属服务器覆盖表文件。但是,如果有人能找到解决方案,请帮助我们,以防止将来发生灾难

相关内容