myisamchk支持以下用于表格修复操作的选项(在给出诸如--recover
或之类 的选项时执行的操作--safe-recover
):
--backup
,-B
将该
.MYD
文件备份为file_name
-time
.BAK安装字符集的目录。请参见 第10.14节“字符集配置”。
纠正表格的校验和信息。
--data-file-length=
,len
-D
len
数据文件的最大长度(在“ 完整 ”时重新创建数据文件时)。
--extend-check
,-e
做一次试图从数据文件中恢复每一个可能的行的修复。通常,这也会发现很多垃圾行。除非你绝望,否则不要使用这个选项。
请参阅表格检查选项下的该选项的说明。
有关输出格式的说明,请参见 第4.6.4.5节“使用myisamchk获取表信息”。
--force
,-f
覆盖旧的中间文件(名称类似的文件
)而不是中止。tbl_name
.TMD--keys-used=
,val
-k
val
对于myisamchk,选项值是指示要更新哪些索引的位值。选项值的每个二进制位对应一个表索引,其中第一个索引是位0.选项值0禁用对所有索引的更新,这可用于获取更快的插入。取消激活的索引可以通过使用myisamchk -r重新激活 。
--no-symlinks
,-l
不要遵循符号链接。通常, myisamchk会修复符号链接指向的表。从MySQL 4.0开始,这个选项不存在,因为4.0版本的版本在修复操作期间不会删除符号链接。
如果myisamchk无法分配内存来保存它们,则跳过大于给定长度的行 。
使用同样的技术
-r
和-n
,而是创建并行的所有按键,使用不同的线程。这是beta质量的代码。使用需要您自担风险!--quick
,-q
通过只修改索引文件而不是数据文件来实现更快的修复。您可以指定此选项两次以强制myisamchk在重复键的情况下修改原始数据文件。
--recover
,-r
做一个可以解决几乎任何问题的修复,除了不唯一的唯一键(这对于
MyISAM
表是一个非常不可能的错误)。如果你想恢复一个表,这是首先尝试的选项。--safe-recover
只有在myisamchk报告表不能使用恢复表 时才 应尝试--recover
。(在不太可能发生的情况下,--recover
数据文件保持不变。)如果你有很多的记忆,你应该增加价值
myisam_sort_buffer_size
。--safe-recover
,-o
使用旧的恢复方法进行修复,该方法按顺序读取所有行,并根据找到的行更新所有索引树。这比一个数量级要慢
--recover
,但可以处理几个不可能的情况--recover
。这种恢复方法也比使用磁盘空间少得多--recover
。通常情况下,你应该先修复使用--recover
,然后--safe-recover
只有在--recover
失败时修复 。如果你有很多的记忆,你应该增加价值
key_buffer_size
。指定用于排序表索引的排序规则。字符集名称由排序规则名称的第一部分隐含。
--sort-recover
,-n
即使临时文件非常大, 强制myisamchk使用排序来解析密钥。
--tmpdir=
,dir_name
-t
dir_name
用于存储临时文件的目录的路径。如果未设置,myisamchk将使用
TMPDIR
环境变量的值。--tmpdir
可以设置为以循环方式连续使用以创建临时文件的目录路径列表。目录名称之间的分隔符是:
Unix上的冒号()和;
Windows上的分号()。--unpack
,-u
本文由学什么技术好网翻译