Spec-Zone.ru › MySQL 5.7

15.2.4.1 Повреждённые таблицы MyISAM

Несмотря на то, что формат таблицы MyISAM очень надёжен (все изменения в таблице, внесённые оператором SQL, записываются до возврата результата оператора), повреждённые таблицы всё же могут возникнуть, если произойдут следующие события:

  • Процесс mysqld был прерван во время записи.

  • Произошло непредвиденное отключение компьютера (например, компьютер был выключен).

  • Аппаратные сбои.

  • Вы используете внешнюю программу (например, myisamchk), чтобы изменить таблицу, которую в это же время изменяет сервер.

  • Ошибка программного обеспечения в коде MySQL или MyISAM.

Типичные симптомы повреждённой таблицы:

  • При выборе данных из таблицы возникает следующая ошибка:

    Incorrect key file for table: '...'. Try to repair it
    
  • Запросы не находят строки в таблице или возвращают неполные результаты.

Вы можете проверить состояние таблицы 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. Если такое сообщение есть, вероятно, повреждение таблиц произошло из-за аварийного завершения работы сервера. В противном случае повреждение могло произойти во время нормальной работы. Это ошибка. Вы должны попытаться создать воспроизводимый тестовый случай, который демонстрирует проблему. См. Раздел B.3.3.3, «Что делать, если MySQL постоянно зависает» и Раздел 5.8, «Отладка MySQL».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/corrupted-myisam-tables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API