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