本节中描述的选项可用于执行的任何类型的表维护操作myisamchk.下面的章节描述了只适用于特定操作的选项,比如表检查或修复。
——帮助
,-?
显示帮助消息并退出。选项按操作类型分组。
——帮助
,- h
显示帮助消息并退出。选项显示在单个列表中。
——调试=
,debug_options
- #
debug_options
编写调试日志。一个典型的
debug_options
字符串是d:师:啊,
.默认值是file_name
d:师:啊,/ tmp / myisamchk.trace
.此选项仅在MySQL使用
WITH_DEBUG
.Oracle提供的MySQL版本二进制文件是不使用此选项构建。——defaults-extra-file =
file_name
读取该选项文件在全局选项文件之后,但(在Unix上)在用户选项文件之前。如果该文件不存在或无法访问,则会发生错误。如果
file_name
不是绝对路径名,它是相对于当前目录解释的。有关此选项和其他选项文件选项的更多信息,请参见第4.2.2.3节,“影响选项文件处理的命令行选项”.
只使用给定的选项文件。如果该文件不存在或无法访问,则会发生错误。如果
file_name
不是绝对路径名,它是相对于当前目录解释的。有关此选项和其他选项文件选项的更多信息,请参见第4.2.2.3节,“影响选项文件处理的命令行选项”.
不仅要读通常的选项组,还要读具有通常名称和后缀的组
str
.例如,myisamchk正常读取(myisamchk)
组。如果该选项为——defaults-group-suffix = _other
,myisamchk还读(myisamchk_other)
组。有关此选项和其他选项文件选项的更多信息,请参见第4.2.2.3节,“影响选项文件处理的命令行选项”.
不要读取任何选项文件。如果从选项文件中读取未知选项导致程序启动失败,
——已
可用于防止它们被读取。例外的是
.mylogin.cnf
如果文件存在,则在所有情况下都读取它。这允许以比命令行更安全的方式指定密码,即使在某些情况下——已
使用。创建.mylogin.cnf
,可以使用mysql_config_editor实用程序。看到章节4.6.7,“mysql_config_editor - MySQL配置工具”.有关此选项和其他选项文件选项的更多信息,请参见第4.2.2.3节,“影响选项文件处理的命令行选项”.
打印程序名称和它从选项文件中获得的所有选项。
有关此选项和其他选项文件选项的更多信息,请参见第4.2.2.3节,“影响选项文件处理的命令行选项”.
——沉默
,- s
无声模式。仅在发生错误时写入输出。您可以使用
- s
两次(党卫军
)myisamchk非常沉默。——详细
,- v
详细的模式。打印更多有关程序的信息。这可以用在
- d
而且- e
.使用- v
多次(vv
,-vvv
)以获得更多输出。——版本
,- v
显示版本信息并退出。
——等待
,- w
如果表被锁定,则不会以错误结束,而是等待表被解锁后再继续。如果你在跑步mysqld在禁用外部锁定的情况下,该表只能被另一个表锁定myisamchk命令。
您还可以使用--
语法:var_name
=价值
变量 | 默认值 |
---|---|
decode_bits |
9 |
ft_max_word_len |
version-dependent |
ft_min_word_len |
4 |
ft_stopword_file |
内置列表 |
key_buffer_size |
523264 |
myisam_block_size |
1024 |
myisam_sort_key_blocks |
16 |
read_buffer_size |
262136 |
sort_buffer_size |
2097144 |
sort_key_blocks |
16 |
stats_method |
nulls_unequal |
write_buffer_size |
262136 |
可能的myisamchk可以检查变量及其默认值myisamchk——帮助:
myisam_sort_buffer_size
在通过排序键修复键时使用,这是使用时的正常情况——恢复
.sort_buffer_size
是已弃用的同义词吗myisam_sort_buffer_size
.
key_buffer_size
在你检查表时使用——延长止
或者通过将键一行一行地插入到表中来修复键(就像执行普通插入时一样)。通过键缓冲区进行修复在以下情况下使用:
你使用
——safe-recover
.排序密钥所需的临时文件将是直接创建密钥文件时的两倍多。的键值较大时,通常是这种情况
字符
,VARCHAR
,或文本
列,因为排序操作在进行时需要存储完整的键值。如果你有很多临时空间,你可以强行myisamchk要通过排序进行修复,可以使用——sort-recover
选择。
通过键缓冲区进行修复所需的磁盘空间比使用排序要少得多,但速度也慢得多。
如果你想更快的修复,设置key_buffer_size
而且myisam_sort_buffer_size
变量到可用内存的25%左右。您可以将两个变量都设置为较大的值,因为一次只使用其中一个变量。
myisam_block_size
用于索引块的大小。
stats_method
影响如何零
时,将处理索引统计信息收集——分析
选项。它就像myisam_stats_method
系统变量。有关更多信息,请参见myisam_stats_method
在第5.1.8节,“服务器系统变量”,第8.3.8节“InnoDB和MyISAM索引统计数据收集”.
ft_min_word_len
而且ft_max_word_len
的最小和最大字长全文
上的索引MyISAM
表。ft_stopword_file
命名停止字文件。在以下情况下需要设置这些值。
如果你使用myisamchk要执行修改表索引的操作(例如修复或分析),可以使用全文
除非另有指定,否则将使用最小和最大字长以及stopword文件的默认全文参数值重新构建索引。这可能导致查询失败。
出现这个问题是因为只有服务器知道这些参数。它们不存储在MyISAM
索引文件。如果您修改了服务器中的最小或最大字长或停止字文件,要避免这个问题,请指定相同的值ft_min_word_len
,ft_max_word_len
,ft_stopword_file
值myisamchk你用它来mysqld.例如,如果将最小字长设置为3,则可以用myisamchk是这样的:
myisamchk——恢复——ft_min_word_len = 3tbl_name.MYI
以确保myisamchk而服务器对全文参数使用相同的值,您可以将每个参数都放在(mysqld)
而且(myisamchk)
选项文件的部分:
[mysqld] ft_min_word_len=3 [myisamchk] ft_min_word_len=3
替代使用myisamchk就是使用修理表
,分析表
,优化表
,或ALTER TABLE
.这些语句由服务器执行,服务器知道要使用的正确全文参数值。