Справочное руководство по MySQL версии 4.1.1-alpha

Как проверять таблицы на ошибки


Для проверки таблицы MyISAM используются следующие команды:

myisamchk tbl_name

Находит 99,99% всех ошибок. Не в состоянии отыскать повреждений, затрагивающих только файл данных (которые весьма необычны). Если необходимо только проверить таблицу, то обычно следует выполнить myisamchk без опций либо с одной из опций -s или --silent.

myisamchk -m tbl_name

Находит 99,999% всех ошибок. Сначала на ошибки проверяются все индексные элементы, а затем читаются все строки подряд. Программа вычисляет контрольную сумму для всех ключей в строке и проверяет, совпадает ли она с контрольной суммой в индексном дереве.

myisamchk -e tbl_name

В этом случае выполняется полная и тщательная проверка всех данных (-e означает ``расширенная проверка''). Происходит тестовое чтение каждого ключа для каждой строки с целью контроля того, что ключи указывают на нужные строки. Для большой таблицы с множеством ключей на это может потребоваться много времени. myisamchk обычно останавливается после обнаружения первой ошибки, но если желательно получить более подробную информацию, можно добавить опцию --verbose (-v) - таким образом выполнение myisamchk будет продолжаться вплоть до максимума в 20 ошибок. При нормальной работе достаточно просто запустить myisamchk (без аргументов за исключением имени таблицы).

myisamchk -e -i tbl_name

Аналогична предыдущей команде, но опция -i указывает myisamchk

дополнительно отображать некоторую статистическую информацию.



Содержание раздела