надо сделать, но как-то лень...
 

Решение ошибки Table ‘name’ is marked as crashed and last (automatic?) repair failed

Очистить можно через phpMyAdmin или SQL запросом:

1
truncate table TableName

Чуть позднее для эксперимента решил поломать целую базу, взял другую большую таблицу вообще от другого приложения, размером около 8 гигабайт и 80 млн. строк.
Выполнил к ней SQL запрос на очистку старых строк до указанной в запросе даты и перезагрузил в этот момент MySQL, запрос прервался, база осталась цела, выполнил запрос на оптимизацию базы и еще раз перезагрузил MySQL, в итоге получил поврежденную базу и аналогичную ошибку:

#144 — Table ‘name’ is marked as crashed and last (automatic?) repair failed

Чтобы восстановить базу необходимо остановить MySQL сервер (если таблица ничем не используется, то можно не останавливать):

1
sudo service mysql stop

Перейдем в директорию с базой:

1
cd /var/lib/mysql/$DATABASE_NAME

Выполним команду восстановления указанной таблицы:

1
myisamchk -r -o -f -v $TABLE_NAME

По завершению если останавливали MySQL сервер, то запустим его:

1
sudo service mysql start

Источник https://ixnfo.com/reshenie-oshibki-table-name-is-marked-as-crashed-and-last-automatic-repair-failed.html

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

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