How do you repair a corrupt MySQL table?
Error: Table ‘tbl_ name’ doesn’t exist databasename_tablesname.frm can’t open
If you get either of the following errors, it usually means that no table exists in the current database with the given name:
Table ‘tbl_name’ doesn’t exist
Can’t find file: ‘tbl_name’ (errno: 2)
A ) In some cases, it may be that the table does exist but that you are referring to it incorrectly:
Because MySQL uses directories and files to store databases and tables, database and table names are case sensitive if they are located on a file system that has case-sensitive filenames.
Even for file systems that are not case sensitive, such as on windows, all references to a given table within a query must use the same letter case.
B ) In some cases, it may be that the table exist but same error occurs then
1 ) Check the permission and ownership of database i.e. it should be same below
drwx—— 2 mysql mysql cpanelusername_dbname.
2) If the permission are corrects but same error occurs then it seems that your database table may be corrupts then there are following way to repair the DB
a) Go to whm >>SQL Services >> Repair a Database >> select database name and click Repair Database.
b) Go to cpanel >> mysql section MySQL
Account Maintenance >> search database then click on Repair.
c) You can repair it though shell
i) login in mysql to that particular user by using following command
> mysql –u databaseusername –p databasename
ii) select particular database
mysql> use databasename;
iii) Check whether database table is corrupted or not if following command output shows null value then it should be corrupts otherwise it is fine
mysql>show table status like ‘table name’\G;
iv)If it is corrupts then use the following command to repair that particular database table.
mysql>repair table tablename;

















July 22nd, 2006 at 4:58 pm
You can also try following command to repair as well as optimise the database from the shell.
mysqlcheck -o database_name -r
mysqlcheck must be used when the mysqld server is running, whereas myisamchk should be used when it is not
August 11th, 2006 at 7:04 pm
There are also another method to restore/repair/recover mysqll database
when mysql server is not running
Repairing MyISAM mySQL Tables/Databases:
# cd /var/lib/mysql/DBNAME
myisamchk *.MYI
-c –> check database is corrupted or not
-r –> recorver
-o –> optimise the database
Repairing ISAM mySQL Tables/Databases:
cd /var/lib/mysql/DBNAME
isamchk *.MYI