Spec-Zone .ru
спецификации, руководства, описания, API
|
Даже при том, что MyISAM
формат таблицы очень надежен (все изменения к таблице,
сделанной SQL-оператором, пишутся перед возвратами оператора), можно все еще получить поврежденные таблицы, если
какое-либо из следующих событий имеет место:
Процесс mysqld уничтожается в середине записи.
Неожиданное компьютерное завершение работы происходит (например, компьютер выключается).
Отказы оборудования.
Вы используете внешнюю программу (такую как myisamchk), чтобы изменить таблицу, которая изменяется сервером одновременно.
Ошибка программного обеспечения в MySQL или MyISAM
код.
Типичные признаки поврежденной таблицы:
Вы получаете следующую ошибку, выбирая данные из таблицы:
Incorrect key file for table: '...'. Try to repair it
Запросы не находят строки в таблице или возвращают неполные результаты.
Можно проверить здоровье a MyISAM
таблица используя CHECK TABLE
оператор, и восстановление поврежденный MyISAM
таблица с REPAIR
TABLE
. Когда mysqld не работает, можно также проверить или восстановить
таблицу с myisamchk командой. См. Раздел
13.7.2.2,"CHECK TABLE
Синтаксис", Раздел
13.7.2.5,"REPAIR TABLE
Синтаксис", и Раздел
4.6.3, "myisamchk — Утилита Табличного обслуживания
MyISAM".
Если Ваши таблицы становятся поврежденными часто, следует попытаться определить, почему это происходит. Самая
важная вещь знать состоит в том, стала ли таблица поврежденной в результате катастрофического отказа сервера.
Можно проверить это легко, ища недавнее restarted mysqld
сообщение в журнале
ошибок. Если есть такое сообщение, вероятно, что табличное повреждение является результатом смерти сервера.
Иначе, повреждение, возможно, произошло во время нормального функционирования. Это - ошибка. Следует попытаться
создать восстанавливаемый прецедент, который демонстрирует проблему. См. Раздел
C.5.4.2, "Что к MySQL Do If Продолжает Отказывать", и