18.2.4.1 Поврежденные таблицы MyISAM
Несмотря на то, что формат таблицы MyISAM очень надёжен (все изменения таблицы, сделанные оператором SQL, записываются до возвращения результата), повреждение таблиц всё же возможно, если произойдёт одно из следующих событий:
Типичные симптомы поврежденной таблицы:
-
При выборе данных из таблицы появляется следующая ошибка:
Incorrect key file for table: '...'. Try to repair it
Запросы не находят строки в таблице или возвращают неполные результаты.
Вы можете проверить состояние таблицы MyISAM, используя оператор CHECK TABLE, и восстановить поврежденную таблицу MyISAM с помощью REPAIR TABLE. Когда mysqld не запущен, вы также можете проверить или восстановить таблицу с помощью команды myisamchk. См. Раздел 15.7.3.2, «Оператор CHECK TABLE», Раздел 15.7.3.5, «Оператор REPAIR TABLE» и Раздел 6.6.4, «myisamchk — Утилита обслуживания таблиц MyISAM».
Если ваши таблицы часто повреждаются, вам следует выяснить причину. Самое важное, чтобы узнать, произошёл ли сбой сервера во время работы с таблицей. Это легко проверить, посмотрев в журнале ошибок на сообщение об ошибке restarted mysqld. Если такое сообщение есть, то, вероятно, повреждение таблицы — результат аварийной остановки сервера. В противном случае повреждение произошло во время обычной работы. Это ошибка. Попробуйте создать воспроизводимый тест, демонстрирующий проблему. См. Раздел B.3.3.3, «Что делать, если MySQL постоянно зависает» и Раздел 7.9, «Отладка MySQL».
© 2025 Oracle
Licensed under the GPLv2 License.