MySQL Check All Databases

Background

Having a broken MySQL / MariaDB database is no fun. Broken tables can also lead to half complete backups really compounding the situation and increasing risk exposure. If you suspect there is trouble, follow this easy guide.

How to Check and Repair a Broken MySQL Database

By Using a User Interface

Most hosted servers already have PhpMyAdmin already built-in.  If you want to make your life easier, just use this. If you’re still rolling your own, congratulations, you’re learning a lot. But for the other sane rest of us, there’s a UI.

Simply navigate to your database, scroll to the bottom, select all tables, and “Check Table” from the menu. Easy does it tiger.

By Using the Command Line

Here is a command to check all your databases:

mysqlcheck -c -u root -p --all-databases

The -c flag means check and is the default operation.

Should you wish to repair a database, do the following:

mysqlcheck -r database table

The -r flag means repair. Follow that with the database name and the table name.

Example of a Broken Table

To illustrate output when a table is corrupt or broken, see the output below:

[root@server ~]# mysqlcheck -c database1 database2 -u root 
database2.tablename3
warning : Table is marked as crashed
error : Deleted block at 101956 doesn't point back at previous delete link
error : record delete-link-chain corrupted
error : Corrupt

How to Repair the Broken Table

Issue the following command to try and repair the table:

mysqlcheck -r database2 tablename3

Please note that not all database tables are repairable as corruption and crashed tables can take many forms. The only sure way to ensure safety is to have proper backups which are restored on a regular basis so that their integrity are tested.

Contact us if you need assistance with your database or backups or follow the references to learn more.

References

Share this article

Leave a Reply

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

Scroll to Top