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),复制了所有记录(插入到select中),更改了新表(InnoDB)上的引擎,重命名了损坏的表并重命名了新表,然后尝试了再次得到同样的错误.