How can I repair corrupt MySQL tables?

Every so often, MySQL
tables have a way of corrupting themselves. MySQL offers a quick and
painless method of repairing those tables.

Login to your server via SSH and change directories to the database that is having problems.

cd /usr/local/mysql/var/[DBNAME]/

You will need to replace [DBNAME] with the actual name of your database.

Stop the MySQL server:

/etc/rc.d/init.d/mysql stop

NOTE: Accounts created before July 7th, 2003 will want to use:

/etc/rc.d/init.d/mysqld stop

To check the tables:

myisamchk *.MYI

To repair tables:

myisamchk -r *.MYI

Restart MySQL:

/etc/rc.d/init.d/mysql start

NOTE: Accounts created before July 7th, 2003 will want to use:

/etc/rc.d/init.d/mysqld start

Alternatively, if you do not want to shut down MySQL, you can use mysqlcheck.

mysqlcheck [DBNAME]

To repair the database tables:

mysqlcheck -r [DBNAME]

You will need to replace [DBNAME] with the actual name of your database.

You can find additional documentation here:

http://dev.mysql.com/doc/mysql/en/Table_maintenance.html

http://dev.mysql.com/doc/mysql/en/Using_mysqlcheck.html

Similar Posts