本节中描述的选项可用于执行的任何类型的表维护操作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实用程序。看到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——recover——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
.这些语句由服务器执行,服务器知道要使用的正确的全文参数值。