myisamchk 支持以下选项用于表检查操作:
-
--check,-cCommand-Line Format --check检查表格以查找错误。这是默认操作,如果您没有指定明确的操作类型。
-
Command-Line Format --check-only-changed仅检查自上次检查以来已更改的表格。
-
--extend-check,-eCommand-Line Format --extend-check非常彻底地检查表格。这非常慢,如果表格有许多索引。这个选项只应该在极端情况下使用。通常,myisamchk 或 myisamchk --medium-check 应该能够确定表格中是否有错误。
如果您使用
--extend-check并且有足够的内存,将key_buffer_size变量设置为大值可以使修复操作运行得更快。另见表修复选项下的描述。
有关输出格式的描述,请参阅 第 6.6.4.5 节,“使用 myisamchk 获取表信息”。
-
--fast,-FCommand-Line Format --fast仅检查未正确关闭的表格。
-
--force,-fCommand-Line Format --force如果 myisamchk 发现表格中的任何错误,则自动执行修复操作。修复类型与使用
--recover或-r选项指定的修复类型相同。 -
--information,-iCommand-Line Format --information打印检查表格的信息统计。
-
--medium-check,-mCommand-Line Format --medium-check执行比
--extend-check操作更快的检查。这找到 99.99% 的所有错误,应该足够在大多数情况下。 -
--read-only,-TCommand-Line Format --read-only不将表格标记为已检查。这对于使用 myisamchk 检查由其他应用程序使用的表格非常有用,该应用程序不使用锁定,例如 mysqld 在禁用外部锁定时运行。
-
--update-state,-UCommand-Line Format --update-state在
.MYI文件中存储信息,以指示表格何时被检查以及表格是否崩溃。这应该用于充分利用--check-only-changed选项,但是如果 mysqld 服务器正在使用该表格并且您正在禁用外部锁定的情况下,不应该使用该选项。