Incorrect key file for table 'widgets'; try to repair it
这是MySQL在尝试将新索引应用于现有(非常大)表时给出的错误消息。当然,当我按照错误消息的建议尝试修复它时:
mysql> repair table widgets;
+-------------------+--------+----------+---------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-------------------+--------+----------+---------------------------------------------------------+
| tedsdb.widgets | repair | note | The storage engine for the table doesn't support repair |
+-------------------+--------+----------+---------------------------------------------------------+
1 row in set (0.00 sec)
我在这里的最佳行动方案是什么(在修补之前遵循明显的完整备份)?
更新:
我创建了一个相同模式的新表(myisam),复制了所有记录(insert into select),更改了新表(innodb)上的引擎,重命名了损坏的表并重命名了新表,然后重试,得到了相同的错误。