mysqlcheck [options] database [table]

This utility checks, repairs, and optimizes MyISAM tables. It works in part on tables for other storage engines as well. It uses the ANALYZE TABLE, CHECK TABLE, OPTIMIZE TABLE, and REPAIR TABLE statements. Therefore, if the storage engine supports any of these statements, the operations that can be performed by supported statements can be done using this utility. For MyISAM tables, this utility is similar in use and purpose to myisamchk. Instead of working with the table files directly as myisamchk does, though, this utility interacts with the MySQL server.

The name of the database containing the tables to check is given as the second argument to the utility. The table to check is given as the third argument. Additional tables may be given in a space-separated list.

Here is a list of options that you can give and a brief explanation of each:

--all-databases, -A

This option checks all databases.

--all-in-1, -1

This option executes all queries for all tables in each database in one statement rather than as separate queries for each table.

--analyze, -a

This option analyzes tables.


This option automatically repairs any corrupted tables found.


This option specifies the directory containing character sets.

--check, -c

This option checks tables for errors.

--check-only-changed, -C

This option checks only tables that have changed since the last check, as well as tables that were not closed properly.

--compress ...

Get MySQL in a Nutshell, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.