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