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_named: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Тип Имя файла Использовать только указанный файл опций. Если файл не существует или недоступен, возникает ошибка. Если
file_nameне является абсолютным именем пути, он интерпретируется относительно текущего каталога.Для получения дополнительной информации об этом и других параметрах файла опций см. Раздел 6.2.2.3, «Параметры командной строки, влияющие на обработку файла опций».
-
Формат командной строки --defaults-group-suffix=strТип Строка Прочитать не только обычные группы опций, но и группы с обычными именами и суффиксом
str. Например, myisamchk обычно читает группу[myisamchk]. Если этот параметр задан как--defaults-group-suffix=_other, myisamchk также читает группу[myisamchk_other].Для получения дополнительной информации об этом и других параметрах файла опций см. Раздел 6.2.2.3, «Параметры командной строки, влияющие на обработку файла опций».
-
Формат командной строки --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Распечатать имя программы и все параметры, которые она получает из файлов параметров.
Для получения дополнительной информации об этом и других параметрах файла опций см. Раздел 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.