Таблица MySQL помечена как сбойная, а последнее (автоматическое?) Восстановление не удалось - PullRequest
116 голосов
/ 13 января 2012

Я ремонтировал эту таблицу, внезапно сервер завис, и когда я вернулся обратно, все таблицы в порядке, но эта, показывающая «используется», и когда я пытаюсь восстановить ее, не продолжается.

ОШИБКА144 - Таблица './extas_d47727/xzclf_ads' помечена как разбитая, а последнее (автоматическое?) Восстановление не удалось

Что я могу сделать, чтобы починить ее?

Ответы [ 8 ]

234 голосов
/ 13 января 2012

Если ваш процесс MySQL запущен, остановите его. На Debian:

sudo service mysql stop

Перейдите в папку с данными. На Debian:

cd /var/lib/mysql/$DATABASE_NAME

Попробуйте запустить:

myisamchk -r $TABLE_NAME

Если это не сработает, вы можете попробовать:

myisamchk -r -v -f $TABLE_NAME

Вы можете снова запустить сервер MySQL. В Debian:

sudo service mysql start
100 голосов
/ 11 сентября 2014

Попробуйте выполнить следующий запрос:

repair table <table_name>;

У меня была такая же проблема, и она решила меня.

12 голосов
/ 08 ноября 2013

Если при переходе в / var / lib / mysql вам будет отказано в разрешении, используйте следующее решение

$ cd /var/lib/
$ sudo -u mysql myisamchk -r -v -f mysql/<DB_NAME>/<TABLE_NAME>
4 голосов
/ 10 мая 2017

Мне нужно было добавить USE_FRM в оператор восстановления, чтобы заставить его работать.

REPAIR TABLE <table_name> USE_FRM;
3 голосов
/ 26 февраля 2015

Я получил myisamchk: error: myisam_sort_buffer_size is too small как ошибку.

Раствор

myisamchk -r -v mysql/<DB_NAME>/<TABLE_NAME> --sort_buffer_size=2G
2 голосов
/ 02 января 2015

Перейдите на data_dir и удалите файл Your_table.TMP после восстановления таблицы <Your_table>.

1 голос
/ 19 июня 2019

Это 100% решение. Я попробовал это сам.

myisamchk -r -v -f --sort_buffer_size = 128M --key_buffer_size = 128M / var / lib / mysql / databasename / tabloname

0 голосов
/ 21 октября 2018

Я пробовал варианты в существующих ответах, в основном те, которые помечены как правильные, которые не работали в моем сценарии.Однако, что работало, так это с помощью phpMyAdmin.Выберите базу данных, а затем выберите таблицу, из нижнего выпадающего меню выберите «Восстановить таблицу».

  • Тип сервера: MySQL
  • Версия сервера: 5.7.23 - Сервер сообщества MySQL (GPL)
  • phpMyAdmin: Информация о версии: 4.7.7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...