Incorrect key file for table ‘XXX’; try to repair it

mysql appears “Incorrect key file for table” solution

Today mysql suddenly appeared the following error:

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

First repair through 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

If it is still useless, run the following command

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

It should be okay.
If it is still useless, exit mysql and perform the following repair actions:

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

It should be normal after restarting mysql.

Leave a Reply

Your email address will not be published. Required fields are marked *

en_USEnglish