7.6 MyISAMtable 维护和崩溃恢复

本节讨论如何使用myisamchk检查或修复MyISAMtable(具有.MYD.MYI文件用于存储数据和索引的 table)。有关myisamchk的一般背景,请参见第 4.6.3 节“ myisamchk-MyISAMtable 维护 Util”。其他 table 修复信息可在第 2.11.12 节,“重建或修复 table 或索引”处找到。

您可以使用myisamchk来检查,修复或优化数据库 table。以下各节介绍如何执行这些操作以及如何设置 table 维护时间 table。有关使用myisamchk获取有关 table 的信息,请参见第 4.6.3.5 节“使用 myisamchk 获取 table 信息”

即使使用myisamchk进行 table 修复是非常安全的,但在进行修复或任何可能对 table 进行大量更改的维护操作之前,最好进行备份。

会影响索引的myisamchk操作可能导致使用全文参数重建MyISAM FULLTEXT索引,这些全文参数与 MySQL 服务器使用的值不兼容。为避免此问题,请遵循第 4.6.3.1 节“ myisamchk 常规选项”中的准则。

MyISAMtable 维护也可以使用执行类似于myisamchk可以执行的操作的 SQL 语句来完成:

有关这些语句的更多信息,请参见第 13.7.2 节“table 维护声明”

这些语句可以直接使用,也可以通过mysqlcheckClient 端程序使用。与myisamchk相比,这些语句的优势之一是服务器可以完成所有工作。使用myisamchk时,必须确保服务器不会同时使用 table,以免myisamchk与服务器之间发生不必要的交互。