如果你用
系统变量集启动mysqldmyisam_recover_options
,MySQL 会自动检查并尝试修复
MyISAM
表,如果它们被标记为“未正确关闭”或“崩溃”。如果发生这种情况,MySQL 会在hostname.err
文件
'Warning: Checking table ...'
中写入一个条目,然后是Warning: Repairing table
表是否需要修复。如果你遇到很多这样的错误,而mysqld之前没有意外死掉,那么一定有问题,需要进一步调查。
当服务器检测到MyISAM
表损坏时,它会将附加信息写入错误日志,例如源文件的名称和行号,以及访问该表的线程列表。例子:Got an
error from thread_id=1, mi_dynrec.c:368
。这是包含在错误报告中的有用信息。
另请参阅第 5.1.6 节“服务器命令选项”和
第 5.8.1.7 节“遇到表损坏时制作测试用例”。