Repair tables in MySQL

Table corruption in MySQL is a very frequent issue. This primarily happens due to failed/forced transactions. MySQL primarily supports two type of engines MyISAM and InnoDB. It is to be noted that the repair utility provided by MySQL can only be used for tables using MyISAM. Crashed tables using InnoDB cannot be repaired using the repair tool. Now, the commands to repair tables/databases in MySQL are as follows:

mysqlcheck -A  [To check and repair all databases on the server]

mysqlcheck -r database_name [where database_name is the name of the database to be checked]

Another thing to be noted here is that the -r option can fix everything except unique keys that aren't unique.

Control panels like cPanel provide an option to repair tables from the interface itself. In cPanel, this can be done via cPanel >> MySQL Databases >> Modify Databases >> Check DB. However, please note that this will work for MyISAM tables only. This option triggers the same commands mentioned above via backend.

The scope of this article is only to repair the tables using MyISAM.