Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   myisamchk    ( 1 )

утилита для обслуживания таблиц MyISAM (MyISAM table-maintenance utility)

MYISAMCHK GENERAL OPTIONS

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, -?

Display a help message and exit. Options are grouped by type of operation.

--HELP, -H

Display a help message and exit. Options are presented in a single list.

--debug=debug_options, -# debug_options

Write a debugging log. A typical debug_options string is ´d:t:o,file_name´. The default is ´d:t:o,/tmp/myisamchk.trace´.

--silent, -s

Silent mode. Write output only when errors occur. You can use -s twice (-ss) to make myisamchk very silent.

--verbose, -v

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

Display version information and exit.

--wait, -w

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.

--print-defaults

Print the program argument list and exit.

--no-defaults

Don't read default options from any option file.

--defaults-file=#

Only read default options from the given file.

--defaults-extra-file=#

Read this file after the global files are read.

You can also set the following variables by using --var_name=value syntax:

┌─────────────────────┬───────────────────┐ │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 │ ├─────────────────────┼───────────────────┤ │key_cache_block_size │ 1024 │ ├─────────────────────┼───────────────────┤ │myisam_block_size │ 1024 │ ├─────────────────────┼───────────────────┤ │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:

sort_buffer_size is used when the keys are repaired by sorting keys, which is the normal case when you use --recover.

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, or TEXT 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 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.4, 'Server System Variables', and Section 7.4.7, 'MyISAM Index Statistics Collection'.

ft_min_word_len and ft_max_word_len indicate the minimum and maximum word length for FULLTEXT indexes. 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:

shell> 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.