MySQL 8.4 Release Notes
9.6 MySQL MyISAM 表维护和崩溃恢复
本节讨论如何使用myisamchk检查或修复MyISAM表(具有.MYD
和.MYI
文件的存储数据和索引的表)。关于myisamchk背景信息,请参阅第6.6.4节,“myisamchk — MyISAM 表维护工具”。其他表修复信息可以在第3.14节,“重建或修复表或索引”中找到。
您可以使用myisamchk检查、修复或优化数据库表。以下节描述了如何执行这些操作和设置表维护计划。关于使用myisamchk获取表信息,请参阅第6.6.4.5节,“使用 myisamchk 获取表信息”。
即使使用myisamchk进行表修复非常安全,但是仍然是一个好idea在执行修复或任何可能对表进行大量更改的维护操作之前备份数据。
myisamchk操作可能会导致MyISAMFULLTEXT
索引被重建为与 MySQL 服务器使用的值不兼容的全文参数。为了避免这个问题,请遵循第6.6.4.1节,“myisamchk 通用选项”中的指导。
MyISAM
表维护也可以使用执行类似于myisamchk操作的SQL语句:
-
检查MyISAM表,可以使用
CHECK TABLE
。 -
修复MyISAM表,可以使用
REPAIR TABLE
。 -
优化MyISAM表,可以使用
OPTIMIZE TABLE
。 -
要分析
MyISAM
表,使用ANALYZE TABLE
语句。
关于这些语句的更多信息,请见第15.7.3节,“表维护语句”。
这些语句可以直接使用,也可以通过mysqlcheck客户端程序使用。与myisamchk相比,这些语句的优点是服务器将完成所有工作。在使用myisamchk时,您需要确保服务器在执行该语句时不使用表,以避免与服务器之间的不良交互。