Spec-Zone.ru › MySQL 5.7

4.6.3.1 Общие параметры myisamchk

Параметры, описанные в этом разделе, могут быть использованы для любого типа операции по обслуживанию таблиц, выполняемой с помощью myisamchk. Разделы, следующие за этим, описывают параметры, относящиеся только к определённым операциям, таким как проверка или ремонт таблиц.

  • --help, -?

    Формат командной строки --help

    Отобразить сообщение справки и выйти. Параметры сгруппированы по типу операции.

  • --HELP, -H

    Формат командной строки --HELP

    Отобразить сообщение справки и выйти. Параметры представлены в одном списке.

  • --debug=debug_options, -# debug_options

    Формат командной строки --debug[=debug_options]
    Тип Строка
    Значение по умолчанию d:t:o,/tmp/myisamchk.trace

    Записать отладочный журнал. Типичная строка debug_options имеет вид d:t:o,file_name. По умолчанию d:t:o,/tmp/myisamchk.trace.

    Этот параметр доступен только в том случае, если MySQL был скомпилирован с использованием WITH_DEBUG. Выпускаемые Oracle двоичные файлы MySQL не собираются с использованием этого параметра.

  • --defaults-extra-file=file_name

    Формат командной строки --defaults-extra-file=file_name
    Тип Имя файла

    Прочитать этот файл параметров после глобального файла параметров, но (в Unix) перед файлом параметров пользователя. Если файла не существует или он недоступен, произойдёт ошибка. Если file_name не является абсолютным путем, он интерпретируется относительно текущего каталога.

    Дополнительную информацию об этом и других параметрах файлов параметров см. в разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».

  • --defaults-file=file_name

    Формат командной строки --defaults-file=file_name
    Тип Имя файла

    Использовать только указанный файл параметров. Если файла не существует или он недоступен, произойдёт ошибка. Если file_name не является абсолютным путем, он интерпретируется относительно текущего каталога.

    Дополнительную информацию об этом и других параметрах файлов параметров см. в разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».

  • --defaults-group-suffix=str

    Формат командной строки --defaults-group-suffix=str
    Тип Строка

    Прочитать не только обычные группы параметров, но и группы с обычными именами и суффиксом str. Например, myisamchk обычно читает группу [myisamchk]. Если этот параметр задан как --defaults-group-suffix=_other, myisamchk также прочитает группу [myisamchk_other].

    Дополнительную информацию об этом и других параметрах файлов параметров см. в разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».

  • --no-defaults

    Формат командной строки --no-defaults

    Не читать файлы параметров. Если запуск программы завершается неудачно из-за чтения неизвестных параметров из файла параметров, --no-defaults может быть использован для предотвращения их чтения.

    Исключением является файл .mylogin.cnf, который читается во всех случаях, если он существует. Это позволяет задавать пароли более безопасным способом, чем в командной строке, даже при использовании --no-defaults. Для создания .mylogin.cnf используйте утилиту mysql_config_editor. См. раздел 4.6.6, «mysql_config_editor — Утилита конфигурации MySQL».

    Дополнительную информацию об этом и других параметрах файлов параметров см. в разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».

  • --print-defaults

    Формат командной строки --print-defaults

    Вывести имя программы и все параметры, полученные из файлов параметров.

    Дополнительную информацию об этом и других параметрах файлов параметров см. в разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».

  • --silent, -s

    Формат командной строки --silent

    Режим молчания. Выводить вывод только при возникновении ошибок. Вы можете использовать -s дважды (-ss), чтобы сделать myisamchk очень тихим.

  • --verbose, -v

    Формат командной строки --verbose

    Режим подробной информации. Выводить больше информации о том, что делает программа. Это может быть использовано с -d и -e. Используйте -v несколько раз (-vv, -vvv) для ещё большего вывода.

  • --version, -V

    Формат командной строки --version

    Отобразить информацию о версии и выйти.

  • --wait, -w

    Формат командной строки --wait
    Тип Булево
    Значение по умолчанию false

    Вместо завершения с ошибкой, если таблица заблокирована, подождать, пока таблица не будет разблокирована, прежде чем продолжить. Если вы запускаете mysqld с отключенной внешней блокировкой, таблица может быть заблокирована только другой командой myisamchk.

Вы также можете задать следующие переменные, используя синтаксис --var_name=value:

Переменная Значение по умолчанию
decode_bits 9
ft_max_word_len зависит от версии
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 --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.7, «Системные переменные сервера» и Разделе 8.3.7, «Сбор статистики индексов 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 так:

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. Эти операторы выполняются сервером, который знает правильные значения параметров полнотекстового поиска.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/myisamchk-general-options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API