Csuper Blog

Csuper Blog

mysql出现“Incorrect key file for table”解决办法
2021-05-28

 mysql突然出现以下错误:

 mysql> select * from test;
 ERROR 1034 (HY000): Incorrect key file for table ‘test’; try to repair it


首先通过repair table修复:

 mysql> repair table test;
 +—————+——–+———-+———————————————————+
 | Table         | Op     | Msg_type | Msg_text                                                |
 +—————+——–+———-+———————————————————+
 | test.test | repair | Error    | Incorrect key file for table ‘test’; try to repair it |
 | test.test | repair | error    | Corrupt 

 
如果还是没用,运行下面命令

 mysql> repair table test USE_FRM;
 +—————+——–+———-+———————————————————+
 | Table         | Op     | Msg_type | Msg_text                                                |
 +—————+——–+———-+———————————————————+
 | test.test | repair | Error    |Number of rows changed from 0 to 110423 |
 | test.test | repair | status   | OK  


按理应该可以了。
如果还是没用,则退出mysql,执行如下修复动作:

 myisamchk -of /var/lib/mysql/test/test.MYI
 myisamchk -r /var/lib/mysql/test/test.MYI
 myisamchk safe-recover /var/lib/mysql/test/test.MYI


再重启mysql后应该可以正常了。