要检查MyISAM
表,请使用以下命令:
这会发现 99.99% 的错误。它找不到的是仅涉及数据文件的损坏(这很不寻常)。如果你想检查一个表,你通常应该不带选项或带(静默)选项 运行myisamchk 。
-s
这会找到 99.999% 的所有错误。它首先检查所有索引条目是否有错误,然后读取所有行。它计算行中所有键值的校验和,并验证校验和是否与索引树中键的校验和匹配。
这会对所有数据进行全面彻底的检查(
-e
意思是“扩展检查”)。它对每一行的每个键进行检查读取,以验证它们确实指向正确的行。对于具有许多索引的大表,这可能需要很长时间。通常, myisamchk在发现第一个错误后停止。如果您想获得更多信息,可以添加-v
(详细)选项。这导致 myisamchk继续运行,最多出现 20 个错误。这类似于前面的命令,但
-i
选项告诉 myisamchk打印额外的统计信息。
在大多数情况下,一个简单的myisamchk命令,除了表名之外没有任何参数就足以检查一个表。