This section discusses how to use myisamchk to
check or repair MyISAM
tables (tables that have
.MYD
and .MYI
files for
storing data and indexes). For general
myisamchk background, see
Section 6.6.4, “myisamchk — MyISAM Table-Maintenance Utility”. Other table-repair information can be
found at Section 3.14, “Rebuilding or Repairing Tables or Indexes”.
You can use myisamchk to check, repair, or optimize database tables. The following sections describe how to perform these operations and how to set up a table maintenance schedule. For information about using myisamchk to get information about your tables, see Section 6.6.4.5, “Obtaining Table Information with myisamchk”.
Even though table repair with myisamchk is quite secure, it is always a good idea to make a backup before doing a repair or any maintenance operation that could make a lot of changes to a table.
myisamchk operations that affect indexes can
cause MyISAM
FULLTEXT
indexes to be rebuilt with full-text parameters that are
incompatible with the values used by the MySQL server. To avoid
this problem, follow the guidelines in
Section 6.6.4.1, “myisamchk General Options”.
MyISAM
table maintenance can also be done using
the SQL statements that perform operations similar to what
myisamchk can do:
To check
MyISAM
tables, useCHECK TABLE
.To repair
MyISAM
tables, useREPAIR TABLE
.To optimize
MyISAM
tables, useOPTIMIZE TABLE
.To analyze
MyISAM
tables, useANALYZE TABLE
.
For additional information about these statements, see Section 15.7.3, “Table Maintenance Statements”.
These statements can be used directly or by means of the mysqlcheck client program. One advantage of these statements over myisamchk is that the server does all the work. With myisamchk, you must make sure that the server does not use the tables at the same time so that there is no unwanted interaction between myisamchk and the server.