mysqldump: Got error: 144: «Table is marked as crashed and last (automatic?) repair failed» when using LOCK TABLES

Перестала делаться резервная копия базы данных MySQL. Стал проверять в чем дело и обнаружил, что скрипт резервного копирования останавливается на ошибке.

Ошибка выглядела следующим образом:

В phpMyAdmin таблица указана была как используется.

Попробовал починить таблицу консольными командами и через SQL запросы в phpMyAdmin, но ничего не вышло.

Для починки таблицы через консольную команду (может кому-нибудь поможет и такой способ), сначала нужно зайти на сервер через Терминал.

Теперь заходим в свою базу данных:

Если вводите команду и получаете ошибку:

Значит вводите неправильные «имя базы данных», «имя пользователя базы данных» или «пароль к базе данных».

При успешном соединении будет так:

Мне починить не удалось, возникли такие ошибки:

Тогда я попробовал провести починку через SQL запросы в phpMyAdmin, тоже не помогло. Возможно вводил неверные команды, потому что получал следующие сообщения:

Исправление ошибки 144

Решение оказалось куда более простым. У меня была сохраненная правильная резервная копия базы данных. Таблица wp_post_views_history не являлась для меня ключевой и её более ранняя копия мне вполне подходила.

Я импортировал старую базу данных через phpMyAdmin в отдельную базу данных. Затем выделил таблицу wp_post_views_history и экспортировал её отдельно.

После чего в базе данных, где возникала ошибка, я выделил сломанную таблицу и очистил её. Затем удалил. Именно в таком порядке, иначе таблица не удалялась.

Последним действием импортировал рабочую таблицу wp_post_views_history и всё стало работать.

Вот почему важно делать резервные копии.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "mysqldump: Got error: 144: «Table is marked as crashed and last (automatic?) repair failed» when using LOCK TABLES".

Ваш e-mail не будет опубликован. Обязательные поля помечены *