相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  如何检查 MyISAM 表的错误

9.6.2 如何检查 MyISAM 表的错误

要检查 MyISAM 表,请使用以下命令:

  • myisamchk tbl_name

    这可以发现 99.99% 的错误。它无法发现的错误是 涉及数据文件的损坏(这种情况非常罕见)。如果要检查表,通常应运行不带选项的 myisamchk 或使用 -s(静默)选项。

  • myisamchk -m tbl_name

    这可以发现 99.999% 的错误。它首先检查所有索引条目是否存在错误,然后读取所有行。它会计算行中所有键值的校验和,并验证校验和是否与索引树中键的校验和匹配。

  • myisamchk -e tbl_name

    这将对所有数据进行完整彻底的检查(-e 表示扩展检查)。它会对每一行的每个键进行校验读取,以验证它们是否确实指向正确的行。对于具有许多索引的大型表,这可能需要很长时间。通常,myisamchk 会在发现第一个错误后停止。如果要获取更多信息,可以添加 -v(详细)选项。这将导致 myisamchk 继续运行,最多显示 20 个错误。

  • myisamchk -e -i tbl_name

    这与之前的命令类似,但 -i 选项告诉 myisamchk 打印其他统计信息。

在大多数情况下,只需使用一个简单的 myisamchk 命令(除了表名之外没有其他参数)就足以检查表了。