Программа isamchk используется для проверки непротиворечивости таблиц и устранения любых проблем, которые это может вызвать. Isamchk может также использоваться, чтобы усилить таблицы в базах данных, которые содержат BLOB или поля символов переменной длины. Это необходимо только, если Вы часто добавляете и удаляете записи из этих таблиц.
Необходимо остановить СУБД MySQL перед запуском isamchk с единственным переключателем -r.
Вообще, используйте переключатель -rq для ремонта таблицы, потому что он выполняет "оперативный" ремонт. Для такого ремонта не нужно временного места в памяти, таким образом он проходит быстро, так как isamchk не копирует файл данных.
Перед началом работы, надо перейти в каталог с таблицей, которая нуждается в проверке и/или ремонте. В общем случае, это $DATADIR/DBNAME.
Опции программы isamchk:
-#
Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. Подробности в главе о библиотеке отладки.
-?
Справка.
-a
Анализ. Используется для для оптимизации размещения таблиц.
-d
Информация о таблице.
-e
Расширенная проверка. При запуске с этой опцией надо остановить демон mysqld.
-f
Принудительно создать временный файл. Эта опция вызовет 'isamchk -r', если таблица разрушена.
-k#
Используемые ключи.
-i
Дополнительная информация.
-q
Быстрая проверка.
-r[o]
Восстановление, Эта опция также уплотнит внутренние индексы B-Tree, используемые MySQL. Используйте эту опцию, чтобы уменьшить место, занимаемое таблицей, за счет удаления неиспользуемых индексов.
-s
Работать молча.
-u
Распаковать упакованный файл.
-v
Подробный вывод. Используется вместе с другими параметрами, чтобы получить большее количество информации. Можно задать большее количество символов v для повышения объема выдаваемой информации (например, vv).
-w
Ждать, если таблица заблокирована.
-I
Справка.
-S[ir]#
Сортировать индекс/записи по ключу #. Эта опция оптимизирует размещение данных в таблице.
-V
Информация о версии.
-O
var=# Опция оптимизации var=#[k][m]
Можно использовать вторую опцию '-q', чтобы использовать старый файл данных. -ro использует старый метод восстановления: медленнее, но надежнее -r. -r может исправить почти все ошибки, кроме уникальных ключей, которые оказались все же не уникальными. УБЕДИТЕСЬ, ЧТО ДЕМОН MYSQLD НЕ ЗАПУЩЕН, ЕСЛИ ИСПОЛЬЗУЕТЕ ЭТУ ОПЦИЮ! Если -f задан при проверке таблицы, то таблицы с ошибками будут автоматически исправлены.