Spec-Zone.ru › MySQL 9.2

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

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

  • --help, -?

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

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

  • --HELP, -H

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

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

  • --debug=debug_options, -# debug_options

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

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

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

  • --defaults-extra-file=file_name

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

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

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

  • --defaults-file=file_name

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

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

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

  • --defaults-group-suffix=str

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

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

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

  • --no-defaults

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

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

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

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

  • --print-defaults

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

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

    Для получения дополнительной информации об этом и других параметрах файла опций см. Раздел 6.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 в Разделе 7.1.8, «Системные переменные сервера» и Разделе 10.3.8, «Сбор статистики индексов 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-8.4-en/myisamchk-general-options.html

Spec-Zone.ru

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