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 服务器并正在使用该表,并且您在禁用外部锁定的情况下运行它,则不应使用此选项。