Как восстановить индексный файл таблицы MySQL ?

При проверке БД с именем bad_db утилита mysqlcheck выдает следующее сообщение:

Error: Incorrect key file for table ‘templates’; try to repair it

Попытка восстановления командой:

# mysqlcheck —repair —quick -u root -p bad_db templates

закончилась неудачей.
Как восстановить индексный файл?

  1. Переходим в каталог базы данных, где находится поврежденная таблица.
  2. Перемещаем файл данных таблицы templates.MYD в backup-каталог.
  3. Входим к командную оболочку MySQL и воссоздаем таблицу следующей комендой:

    mysql> truncate table templates;

  4. Возвращаем файл templates.MYD из backup-каталога (с замещением пустого, только что созданного). Файл данных и индексный файл теперь «не дружат», но индексный файл имеет правильную структуру.
  5. Повторяем восстановление таблицы командой:

    # mysqlcheck —repair —quick -u root -p bad_db templates

    Теперь все должно быть в порядке!

Ваш отзыв

Вы должны войти, чтобы оставлять комментарии.