Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  How to Check MyISAM Tables for Errors

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 命令,仅带有表格名称作为参数,足以检查一个表格。