One or more tables within a MySQL database may get corrupted for certain reason.1 Then your application will fail to work when it try to access these corrupted tables. In this article you will see simple commands that can be used to automatically repair that corrupted tables.
You can recover most of these corrupted tables by running a simple command involving
mysqlcheck. The whole database can be checked and each corrupted tables can repaired automatically whenever possible using the following command:
mysqlcheck --auto-repair -u root -p databasename
Or if you just want to perform the check and repair only on one or few tables. Then those table names can be given.
mysqlcheck --auto-repair -u root -p databasename table1 table2
For non-corrupted tables, output will be a line like:
For corrupted tables, it will output messages like given below when repair gone success.
Repairing tables databasename.table1 warning : Number of rows changed from 916 to 921 status : OK databasename.table2 warning : Number of rows changed from 973 to 985 status : OK
Some events which will cause the tables to be corrupted are given in this page: http://dev.mysql.com/doc/refman/5.1/en/corrupted-myisam-tables.html↩