MySQL 8.4 发行说明
要检查 MyISAM
表,请使用以下命令
这可以找到 99.99% 的错误。它无法找到的错误是 仅 涉及数据文件的损坏(这种情况非常少见)。如果要检查表,通常应运行不带选项或使用
-s
(静默)选项的 myisamchk。这可以找到 99.999% 的错误。它首先检查所有索引条目是否存在错误,然后读取所有行。它会计算行中所有键值的校验和,并验证该校验和是否与索引树中键的校验和匹配。
这将对所有数据进行完整而彻底的检查(
-e
表示 “扩展检查”)。它会对每行的每个键进行检查读取,以验证它们是否确实指向正确的行。对于具有多个索引的大型表,这可能会花费很长时间。通常,myisamchk 在找到第一个错误后停止。如果要获取更多信息,可以添加-v
(详细)选项。这将导致 myisamchk 继续运行,最多显示 20 个错误。这与上一条命令类似,但
-i
选项告诉 myisamchk 打印其他统计信息。
在大多数情况下,只需使用不带任何参数(表名除外)的简单 myisamchk 命令就足以检查表。