我有一张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 表,我发现的唯一解决方法是从其中一个从属服务器覆盖表文件。但是,如果有人能找到解决方案,请帮助我们,以防止将来发生灾难