Следующие опции используются, если 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. Начиная с MySQL 4.1, вTMPDIRмогут быть указаны несколько путей, разделенных двоеточием:(точкой с запятой на Windows;). Эти пути будут использованы в ротации. Это используется для того, чтобы распределить данные между разными физическими дисками. -
-q или --quickБыстрый ремонт без изменения файла данных. Можно добавить вторую
-q, чтобы датьmyisamchkсанкцию на изменение исходного файла данных в случае дублирования ключей -
-u или --unpackРаспаковать файл, упакованный в
myisampack.