# 7.6.2 如何检查 MyISAM 表是否有错误

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

  • 迈萨姆奇克tbl_name**

    这会发现所有错误的 99.99%。它找不到的是涉及只要数据文件(这是非常不寻常的)。如果要检查表格,通常应该运行迈萨姆奇克没有选项或有-s(静音)选项。

  • myisamchk -mtbl_name**

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

  • myisamchk -etbl_name**

    这会对所有数据进行全面彻底的检查(-e意思是“扩展检查”)。它对每一行的每个键进行检查读取,以验证它们确实指向正确的行。对于具有许多索引的大表,这可能需要很长时间。一般,迈萨姆奇克在发现第一个错误后停止。如果您想获取更多信息,可以添加-v(详细)选项。这引起迈萨姆奇克继续前进,最多通过 20 个错误。

  • myisamchk -e -itbl_name**

    这与前面的命令类似,但-一世选项告诉迈萨姆奇克打印附加统计信息。

    大多数情况下,一个简单的迈萨姆奇克除了表名之外没有参数的命令足以检查表。