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