Mysql таблица помечена как crash что делать

Опубликовано: 24.03.2017

При выполнении mysqld со --skip-external-locking (установка по дефлоту в неких системах, схожих Linux) применение myisamchk для проверки таблицы, когда она употребляется mysqld, не совершенно неопасно. Если есть уверенность, что никто не обратится к таблицам через mysqld во время выполнения myisamchk, то довольно до начала проверки таблиц выполнить mysqladmin flush-tables, если нет - то на время проверки таблиц нужно остановить mysqld. При запуске myisamchk в то время, когда mysqld обновляет таблицы, может быть выдано предупреждение о повреждении таблицы - даже в случае, если этого не вышло.

Если --skip-external-locking не употребляется, то инспектировать таблицы при помощи myisamchk можно в хоть какое время. Во время проверки все пытающиеся обновить таблицу клиенты получат возможность сделать это, только дождавшись готовности myisamchk.

Если myisamchk применяется для ремонта либо оптимизации таблиц, то всегда нужно обеспечить отсутствие воззваний сервера mysqld к таблице (это также относится к случаю использования --skip-external-locking). Если mysqld не может быть приостановлен, то до myisamchk, как минимум, нужно выполнить mysqladmin flush-tables. Таблицы могут быть повреждены, если сервер и myisamchk обратятся к таблицам сразу.

В данном разделе описывается, как выявлять повреждения данных в базах данных MySQL и что делать с повреждениями далее. Если таблица повреждается нередко, то нужно попытаться найти причину этих повреждений! Обращайтесь к разделу See Раздел A.4.1, «Что делать, если работа MySQL сопровождается неизменными сбоями».

Предпосылки повреждения таблиц рассматриваются также в разделе по таблицам MyISAM. Обращайтесь к разделу See Раздел 7.1.3, «Трудности с таблицами MyISAM.».

При выполнении послеаварийного восстановления принципиально осознавать, что каждой таблице tbl_name в базе данных соответствуют три файла в каталоге базы данных:

rss