11、MySQL 8.0参考手册 4.6.4.1 myisamchk一般选项

本文介绍了myisamchk命令的使用方法及各种选项,包括维护MyISAM表的多种操作,如修复、检查和优化等。同时给出了myisamchk命令的详细参数说明,并解释了如何设置相关变量以实现最佳性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本节介绍的选项可用于由myisamchk执行的任何类型的表维护操作 本节后面的部分介绍仅适用于特定操作的选项,如表格检查或修复。

  • --help, -?

    显示帮助信息并退出。选项按操作类型分组。

  • --HELP, -H

    显示帮助信息并退出。选项显示在一个列表中。

  • --debug=debug_options, -# debug_options

    编写一个调试日志。一个典型的 debug_options字符串是 默认是 。 d:t:o,file_named:t:o,/tmp/myisamchk.trace

  • --defaults-extra-file=file_name

    在全局选项文件之后读取此选项文件,但在用户选项文件之前(在Unix上)。如果文件不存在或无法访问,则会发生错误。 file_name如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。

  • --defaults-file=file_name

    只使用给定的选项文件。如果文件不存在或无法访问,则会发生错误。 file_name如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。

  • --defaults-group-suffix=str

    不仅要阅读常用选项组,还要阅读具有常用名称和后缀的组 str例如, myisamchk通常会读取该 [myisamchk]组。如果 --defaults-group-suffix=_other 给出选项,myisamchk也读取该 [myisamchk_other]组。

  • --no-defaults

    不要阅读任何选项文件。如果由于从选项文件读取未知选项而导致程序启动失败, --no-defaults可用于防止读取它们。

    例外是.mylogin.cnf 在任何情况下读取文件(如果存在)。这允许以比使用命令行更安全的方式来指定密码,即使在--no-defaults使用时 也是如此。.mylogin.cnfmysql_config_editor实用程序创建, 请参见 第4.6.7节“ mysql_config_editor - MySQL配置实用程序”。)

  • --print-defaults

    打印程序名称以及从选项文件中获取的所有选项。

  • --silent, -s

    静音模式。只有在发生错误时才写输出。您可以使用-s两次(-ss)使 myisamchk非常安静。

  • --verbose, -v

    详细模式。打印关于该程序的更多信息。这可以用于-d和 -e使用-v多次(-vv-vvv)获得更多输出。

  • --version, -V

    显示版本信息并退出。

  • --wait, -w

    如果表被锁定,而不是终止错误,请在继续前等待表解锁。如果您在禁用外部锁定的情况下运行mysqld,则只能通过另一个myisamchk命令锁定该表 

您还可以使用 语法来设置以下变量 : --var_name=value

变量默认值
decode_bits9
ft_max_word_len版本依赖性
ft_min_word_len4
ft_stopword_file内置列表
key_buffer_size523264
myisam_block_size1024
myisam_sort_key_blocks16
read_buffer_size262136
sort_buffer_size2097144
sort_key_blocks16
stats_methodnulls_unequal
write_buffer_size262136

可能的myisamchk变量及其默认值可以使用myisamchk --help进行检查

myisam_sort_buffer_size当按键通过排序键修复时使用,这是您使用时的正常情况--recover。 sort_buffer_size是一个被废弃的同义词 myisam_sort_buffer_size

key_buffer_size用于--extend-check 通过将键逐行插入表中来检查表的时候(或者在执行普通插入操作时)或者在检查键时进行修复。在以下情况下使用通过关键缓冲区进行修复:

  • 你用--safe-recover

  • 对键进行排序所需的临时文件将比直接创建密钥文件时大两倍。当你有一个大的键值这是常有的事 CHAR, VARCHAR或 TEXT列,因为排序操作需要存储完整的键值因为它的收益。如果您有很多临时空间,并且您可以强制myisamchk通过排序进行修复,则可以使用该--sort-recover 选项。

通过关键缓冲区修复比使用排序需要更少的磁盘空间,但速度也更慢。

如果你想更快的修复,设置 key_buffer_size和 myisam_sort_buffer_size变量可用内存的25%左右。您可以将这两个变量设置为较大的值,因为一次只能使用其中的一个。

myisam_block_size 是用于索引块的大小。

stats_method影响NULL--analyze 给出选项如何 处理值的索引统计信息收集它的行为就像 myisam_stats_method系统变量。欲了解更多信息,请参阅的描述myisam_stats_method在 第5.1.5节,“服务器系统变量”和 第8.3.8,“InnoDB和MyISAM索引统计集合”

ft_min_word_len并 ft_max_word_len指出表中FULLTEXT索引 的最小和最大字长MyISAM。 ft_stopword_file命名停用词文件。这些需要在以下情况下设置。

如果使用myisamchk执行修改表索引(例如修复或分析)的操作,则 FULLTEXT除非另有指定,否则索引将使用缺省全文参数值重新生成最小和最大字长以及停用词文件。这可能会导致查询失败。

发生该问题是因为这些参数只能由服务器知道。它们不存储在MyISAM 索引文件中。为了避免这个问题,如果你已经修改了最小或最大字长或服务器停止字文件,指定相同ft_min_word_len, ft_max_word_len和 ft_stopword_file值 myisamchk的,你使用 的mysqld例如,如果您将最小字长设置为3,则可以使用myisamchk修复表格, 如下所示:

shell> myisamchk --recover --ft_min_word_len=3 tbl_name.MYI

为了确保myisamchk的和服务器使用全文参数相同的值,你可以将每一项都在[mysqld]和 [myisamchk]选项文件的部分:

[mysqld]
ft_min_word_len=3

[myisamchk]
ft_min_word_len=3

到使用替代myisamchk的是使用REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE,或 ALTER TABLE这些语句由服务器执行,它知道要使用的正确的全文参数值。本文由学什么技术好网翻译

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值