:: DEVELOPER ZONE
To check a MyISAM table, use the following
commands:
myisamchk
tbl_name
This finds 99.99% of all errors. What it can't find is corruption
that involves only the data file (which is
very unusual). If you want to check a table, you should normally
run myisamchk without options or with either
the -s or --silent option.
myisamchk -m
tbl_name
This finds 99.999% of all errors. It first checks all index entries for errors and then reads through all rows. It calculates a checksum for all keys in the rows and verifies that the checksum matches the checksum for the keys in the index tree.
myisamchk -e
tbl_name
This does a complete and thorough check of all data
(-e means ``extended check''). It does a
check-read of every key for each row to verify that they indeed
point to the correct row. This may take a long time for a large
table that has many indexes. Normally,
myisamchk stops after the first error it finds.
If you want to obtain more information, you can add the
--verbose (-v) option. This
causes myisamchk to keep going, up through a
maximum of 20 errors.
myisamchk -e -i
tbl_name
Like the previous command, but the -i option
tells myisamchk to print some informational
statistics, too.
In most cases, a simple myisamchk with no arguments other than the table name is sufficient to check a table.
© 1995-2005 MySQL AB. All rights reserved.

User Comments
Warning: query failed: Unknown column 'user.firstname' in 'field list' in /data0/sites/live/web-main/lib/mysql-cxn.php on line 69
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /data0/sites/live/web-main/lib/docbook.php on line 245
Add your own comment.