Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

9.6.2 检查 MyISAM 表中的错误

要检查一个MyISAM表,可以使用以下命令:

  • myisamchk tbl_name

    这将找到99.99%的所有错误。它不能找到只涉及数据文件(非常不常见)的损坏。如果您想检查一个表,您通常应该运行myisamchk没有选项或带有-s(silent)选项。

  • myisamchk -m tbl_name

    这将找到99.999%的所有错误。它首先检查索引条目是否有错误,然后读取所有行。它计算每个行的键值的校验和,并验证该校验和与索引树中的键值匹配。

  • myisamchk -e tbl_name

    这将对所有数据进行完整和彻底的检查(-e表示“扩展检查”)。它会对每个行的每个键进行check-read,以验证它们是否正确地指向了正确的行。这可能需要很长时间来检查一个包含许多索引的大表。通常,myisamchk在找到第一个错误后就停止。如果您想获得更多信息,可以添加-v(详细)选项。这将导致myisamchk继续运行,直到最多出现20个错误。

  • myisamchk -e -i tbl_name

    这与前一个命令相同,但是-i选项告诉myisamchk打印额外的统计信息。

在大多数情况下,简单地使用myisamchk命令,无论其他参数,只需指定表名即可检查表。