The options described in this section can be used for any type of table maintenance operation performed by myisamchk. The sections following this one describe options that pertain only to specific operations, such as table checking or repairing.
--help
,-?
Command-Line Format --help
Display a help message and exit. Options are grouped by type of operation.
--HELP
,-H
Command-Line Format --HELP
Display a help message and exit. Options are presented in a single list.
--debug=
,debug_options
-#
debug_options
Command-Line Format --debug[=debug_options]
Type String Default Value d:t:o,/tmp/myisamchk.trace
Write a debugging log. A typical
debug_options
string isd:t:o,
. The default isfile_name
d:t:o,/tmp/myisamchk.trace
.This option is available only if MySQL was built using
WITH_DEBUG
. MySQL release binaries provided by Oracle are not built using this option.--defaults-extra-file=
file_name
Command-Line Format --defaults-extra-file=file_name
Type File name Read this option file after the global option file but (on Unix) before the user option file. If the file does not exist or is otherwise inaccessible, an error occurs. If
file_name
is not an absolute path name, it is interpreted relative to the current directory.For additional information about this and other option-file options, see Section 4.2.2.3, “Command-Line Options that Affect Option-File Handling”.
-
Command-Line Format --defaults-file=file_name
Type File name Use only the given option file. If the file does not exist or is otherwise inaccessible, an error occurs. If
file_name
is not an absolute path name, it is interpreted relative to the current directory.For additional information about this and other option-file options, see Section 4.2.2.3, “Command-Line Options that Affect Option-File Handling”.
-
Command-Line Format --defaults-group-suffix=str
Type String Read not only the usual option groups, but also groups with the usual names and a suffix of
str
. For example, myisamchk normally reads the[myisamchk]
group. If this option is given as--defaults-group-suffix=_other
, myisamchk also reads the[myisamchk_other]
group.For additional information about this and other option-file options, see Section 4.2.2.3, “Command-Line Options that Affect Option-File Handling”.
-
Command-Line Format --no-defaults
Do not read any option files. If program startup fails due to reading unknown options from an option file,
--no-defaults
can be used to prevent them from being read.The exception is that the
.mylogin.cnf
file is read in all cases, if it exists. This permits passwords to be specified in a safer way than on the command line even when--no-defaults
is used. To create.mylogin.cnf
, use the mysql_config_editor utility. See Section 4.6.6, “mysql_config_editor — MySQL Configuration Utility”.For additional information about this and other option-file options, see Section 4.2.2.3, “Command-Line Options that Affect Option-File Handling”.
-
Command-Line Format --print-defaults
Print the program name and all options that it gets from option files.
For additional information about this and other option-file options, see Section 4.2.2.3, “Command-Line Options that Affect Option-File Handling”.
--silent
,-s
Command-Line Format --silent
Silent mode. Write output only when errors occur. You can use
-s
twice (-ss
) to make myisamchk very silent.--verbose
,-v
Command-Line Format --verbose
Verbose mode. Print more information about what the program does. This can be used with
-d
and-e
. Use-v
multiple times (-vv
,-vvv
) for even more output.--version
,-V
Command-Line Format --version
Display version information and exit.
--wait
,-w
Command-Line Format --wait
Type Boolean Default Value false
Instead of terminating with an error if the table is locked, wait until the table is unlocked before continuing. If you are running mysqld with external locking disabled, the table can be locked only by another myisamchk command.
You can also set the following variables by using
--
syntax:
var_name
=value
Variable | Default Value |
---|---|
decode_bits |
9 |
ft_max_word_len |
version-dependent |
ft_min_word_len |
4 |
ft_stopword_file |
built-in list |
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 |
The possible myisamchk variables and their default values can be examined with myisamchk --help:
myisam_sort_buffer_size
is used when the keys
are repaired by sorting keys, which is the normal case when you
use --recover
.
sort_buffer_size
is a deprecated synonym for
myisam_sort_buffer_size
.
key_buffer_size
is used when you are checking
the table with --extend-check
or when the keys are repaired by inserting keys row by row into
the table (like when doing normal inserts). Repairing through
the key buffer is used in the following cases:
You use
--safe-recover
.The temporary files needed to sort the keys would be more than twice as big as when creating the key file directly. This is often the case when you have large key values for
CHAR
,VARCHAR
, orTEXT
columns, because the sort operation needs to store the complete key values as it proceeds. If you have lots of temporary space and you can force myisamchk to repair by sorting, you can use the--sort-recover
option.
Repairing through the key buffer takes much less disk space than using sorting, but is also much slower.
If you want a faster repair, set the
key_buffer_size
and
myisam_sort_buffer_size
variables to about
25% of your available memory. You can set both variables to
large values, because only one of them is used at a time.
myisam_block_size
is the size used for index
blocks.
stats_method
influences how
NULL
values are treated for index statistics
collection when the --analyze
option is given. It acts like the
myisam_stats_method
system variable. For more
information, see the description of
myisam_stats_method
in
Section 5.1.7, “Server System Variables”, and
Section 8.3.7, “InnoDB and MyISAM Index Statistics Collection”.
ft_min_word_len
and
ft_max_word_len
indicate the minimum and
maximum word length for FULLTEXT
indexes on
MyISAM
tables.
ft_stopword_file
names the stopword file.
These need to be set under the following circumstances.
If you use myisamchk to perform an operation
that modifies table indexes (such as repair or analyze), the
FULLTEXT
indexes are rebuilt using the
default full-text parameter values for minimum and maximum word
length and the stopword file unless you specify otherwise. This
can result in queries failing.
The problem occurs because these parameters are known only by
the server. They are not stored in MyISAM
index files. To avoid the problem if you have modified the
minimum or maximum word length or the stopword file in the
server, specify the same ft_min_word_len
,
ft_max_word_len
, and
ft_stopword_file
values to
myisamchk that you use for
mysqld. For example, if you have set the
minimum word length to 3, you can repair a table with
myisamchk like this:
myisamchk --recover --ft_min_word_len=3 tbl_name.MYI
To ensure that myisamchk and the server use
the same values for full-text parameters, you can place each one
in both the [mysqld]
and
[myisamchk]
sections of an option file:
[mysqld]
ft_min_word_len=3
[myisamchk]
ft_min_word_len=3
An alternative to using myisamchk is to use
the REPAIR TABLE
,
ANALYZE TABLE
,
OPTIMIZE TABLE
, or
ALTER TABLE
. These statements are
performed by the server, which knows the proper full-text
parameter values to use.