#Что означает ошибка
marked as crashed
Таблица MyISAM повреждена. Сделайте копию, выполните REPAIR TABLE или myisamchk; рассмотрите переход на InnoDB.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Аварийное завершение | В случае «MySQL: Table is marked as crashed and should be repaired» проверьте наличие причины «Аварийное завершение» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Уточните эту причину и выберите подходящее действие из инструкции. |
| Нет места | В случае «MySQL: Table is marked as crashed and should be repaired» проверьте наличие причины «Нет места» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Освободите. Конкретное действие зависит от проверки причины «Нет места», описанной в пошаговой инструкции. |
| MyISAM | В случае «MySQL: Table is marked as crashed and should be repaired» проверьте наличие причины «MyISAM» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Уточните эту причину и выберите подходящее действие из инструкции. |
| Ошибки диска | Во время сбоя проверьте свободный объём и сообщения о недоступности хранения; сначала исключите ошибки чтения и сохраните важные данные. | Проверьте состояние и свободный объём, сохраните важные данные; устраняйте неисправность после подтверждения причины. |
#Пошаговое решение
- Определите причинуВ тексте ошибки «Table is marked as crashed» найдите имя таблицы и проверьте движок через
SHOW TABLE STATUS LIKE "имя";илиSHOW CREATE TABLE. Для MyISAM/Aria и InnoDB процедуры восстановления разные; не используйтеREPAIR TABLEнаугад на любой таблице. - Выполните подходящее исправлениеСначала сделайте согласованную резервную копию базы и важных журналов. Для таблицы MyISAM при допустимом простое можно применить штатную проверку
CHECK TABLE имя;, а затем согласованныйREPAIR TABLEпри наличии копии и достаточного места; для InnoDB требуется отдельная диагностика и восстановление. - Проверьте другие возможные причиныЕсли сервер заполнял диск или аварийно выключался, проверьте
df -h,df -i, сообщения ядра и журнал MySQL. Не удаляйте файлы.MYD,.MYI,ibdataили redo вручную. При подозрении на повреждённое оборудование сначала обеспечьте целостность копии и проверьте накопитель. - Убедитесь в результатеПосле штатного восстановления повторите
CHECK TABLEдля поддерживаемого типа и тестовый SELECT, затем проверьте операции записи приложения. Если таблица продолжает падать, остановите опасные изменения и восстанавливайте её из проверенного дампа с анализом причины повреждения.
#Если не помогло
Перед ремонтом таблицы сделайте копию файлов данных.
#Если проблема осталась
Если «MySQL: Table is marked as crashed and should be repaired» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.