Следующие опции используются, если myisamchk запускается с -r или -o:
-D # или --data-file-length=#
Максимальная длина файла данных (когда файл данных пересоздается при его
``переполнении'').
-e или --extend-check
Пробовать исправлять каждую возможную строку из файла данных. Обычно при
этом обнаруживается масса замусоренных строк. Использовать эту опцию
следует только в самом крайнем случае, когда больше ничего не остается.
-f или --force
Писать поверх старых временных файлов (`table_name.TMD') вместо аварийного
прекращения.
-k # или keys-used=#
Если используется ISAM, то данный параметр предписывает обработчику таблиц
ISAM на необходимость обновить только первые # индексов. Если используется
MyISAM, то определяет, какие ключи использовать, при этом каждый двоичный
бит соответствует одному ключу (первый ключ - это бит 0). Может
использоваться для ускорения вставок! Отключенные индексы можно снова
активизировать с помощью myisamchk -r. keys.
-l или --no-symlinks
Не рассматривать символические ссылки. Обычно myisamchk исправляет
таблицы, на которые указывают символические ссылки. Данная опция
отсутствует в MySQL 4.0, в связи с тем, что MySQL 4.0 не удаляет
символические ссылки во время восстановления.
-r или --recover
При указании этой опции можно исправить практически все, кроме уникальных ключей, в которых есть повторения (ошибка, вероятность которой мизерна для таблиц ISAM/MyISAM). Если необходимо восстановить таблицу, то начинать надо с этой опции. Только если myisamchk сообщит, что таблица не может быть восстановлена с помощью -r, тогда следует пытаться применять -o
(отметим, что в тех маловероятных случаях, когда -r не срабатывает, файл
данных остается неизменным), В случае большого объема памяти следует
увеличить размер sort_buffer_size!
-o или --safe-recover
Используется старый метод восстановления (читаются подряд все строки и
обновляются все деревья индексов на основе найденных строк); такой
алгоритм работает на порядок медленнее -r, но метод справляется с
несколькими редкими случаями, непосильными для -r. При этом методе
восстановления также используется значительно меньше дискового
пространства, нежели в случае -r. Обычно всегда следует начинать с
исправления посредством -r, и только если результат не будет достигнут,
использовать -o. Для систем с большим объемом памяти следует увеличить
размер key_buffer_size!
-n или --sort-recover
Заставляет myisamchk использовать сортировку при разрешении ключей, даже
если это потребует временных файлов очень большого размера.
--character-sets-dir=...
Каталог, где хранятся кодировки.
--set-character-set=name
Изменить используемую для индекса кодировку
-t или --tmpdir=path
Путь для хранения временных файлов. Если не задан, myisamchk использует
для пути переменную окружения TMPDIR.
-q или --quick
Быстрый ремонт без изменения файла данных. Можно добавить вторую -q,
чтобы дать myisamchk санкцию на изменение исходного файла данных в случае
дублирования ключей