Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


6.6.4.3 其他 myisamchk 选项

myisamchk 支持以下选项用于表修复操作(在提供了选项,如--recover--safe-recover时执行):

  • --backup, -B

    Command-Line Format --backup

    .MYD文件备份到file_name-time.BAK

  • --character-sets-dir=dir_name

    Command-Line Format --character-sets-dir=path
    Type 字符串
    Default Value [none]

    字符集安装目录。请参阅第12.15节,“字符集配置”

  • --correct-checksum

    Command-Line Format --correct-checksum

    更正表的校验信息。

  • --data-file-length=len, -D len

    Command-Line Format --data-file-length=len
    Type 数字

    数据文件的最大长度(在重新创建数据文件时,文件已满时)。

  • --extend-check, -e

    Command-Line Format --extend-check

    执行一个尝试从数据文件中恢复每个可能行的修复操作。通常,这也会找到许多垃圾行。不要在没有其他选择的情况下使用这个选项。

    请参阅该选项在表检查选项中的描述。

    输出格式的描述,请见第6.6.4.5节,“使用 myisamchk 获取表信息”

  • --force, -f

    Command-Line Format --force

    覆盖旧的中间文件(名称类似于tbl_name.TMD)而不是中止操作。

  • --keys-used=<val>, -k <val>

    Command-Line Format --keys-used=val
    Type 数字

    对于myisamchk,选项值是一个位值,指示哪些索引需要更新。每个二进制位对应一个表索引,其中第一个索引是位0。选项值为0将禁用所有索引的更新,可以用于获取更快的插入操作。已停用的索引可以通过使用myisamchk -r重新激活。

  • --max-record-length=<len>

    Command-Line Format --max-record-length=len
    Type 数字

    如果myisamchk无法分配内存来保存大于给定长度的行,则跳过这些行。

  • --quick, -q

    Command-Line Format --quick

    通过修改索引文件,而不是数据文件,实现更快的修复。您可以将该选项指定两次,以强制myisamchk修改原始数据文件,以解决重复键问题。

  • --recover, -r

    Command-Line Format --recover

    执行一个可以修复几乎任何问题(除了非唯一键)的修复操作。如果您想恢复表,这是首选的选项。只有在myisamchk报告无法使用--recover修复表时,才尝试使用--safe-recover。(在极不可能的情况下,如果--recover失败,数据文件将保持完整。)

    如果您有充足的内存,您应该增加myisam_sort_buffer_size的值。

  • --safe-recover, -o

    Command-Line Format --safe-recover

    使用老式恢复方法,读取所有行并根据找到行更新索引树。这比--recover慢了一个数量级,但可以处理一些非常不可能的情况,这些情况--recover不能处理。此恢复方法也使用的磁盘空间少于--recover。通常情况下,您应该首先使用--recover,然后在--safe-recover失败时使用。

    如果您有很多内存,您应该增加key_buffer_size的值。

  • --set-collation=name

    Command-Line Format --set-collation=name
    Type 字符串

    指定用于排序表索引的排序规则。字符集名称由排序规则名称的前部分隐含。

  • --sort-recover, -n

    Command-Line Format --sort-recover

    强制myisamchk使用排序来解决键,即使临时文件将非常大。

  • --tmpdir=dir_name, -t dir_name

    Command-Line Format --tmpdir=dir_name
    Type 目录名称

    要用于存储临时文件的目录路径。如果未设置,这myisamchk将使用环境变量TMPDIR的值。--tmpdir可以设置为一个目录路径列表,用于轮流使用创建临时文件。目录名称之间的分隔符是 Unix 上的冒号 (:) 和 Windows 上的分号 (;)。

  • --unpack, -u

    Command-Line Format --unpack

    解压一个使用myisampack打包的表。