Как восстановить индексный файл таблицы MySQL ?
При проверке БД с именем bad_db утилита mysqlcheck выдает следующее сообщение:
Error: Incorrect key file for table ‘templates’; try to repair it
# mysqlcheck —repair —quick -u root -p bad_db templates
Как восстановить индексный файл?
- Переходим в каталог базы данных, где находится поврежденная таблица.
- Перемещаем файл данных таблицы templates.MYD в backup-каталог.
- Входим к командную оболочку MySQL и воссоздаем таблицу следующей комендой:
mysql> truncate table templates;
- Возвращаем файл templates.MYD из backup-каталога (с замещением пустого, только что созданного). Файл данных и индексный файл теперь «не дружат», но индексный файл имеет правильную структуру.
- Повторяем восстановление таблицы командой:
# mysqlcheck —repair —quick -u root -p bad_db templates
Теперь все должно быть в порядке!