В логах mysql много ошибок подобного рода.
120920 9:25:28 [ERROR] /usr/sbin/mysqld: Table './old_sm/phones' is marked as crashed and last (automatic?) repair failed
Поскольку автоматическое исправление не сработало, то будем исправлять вручную.
Перед любым таким действием настоятельно рекомендуется сделать резервное копирование данных.
Заходим в командную строку mysql.
Запускаем проверку таблицы.
mysql> check table phones;
+-----------------------+-------+----------+--------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------------+-------+----------+--------------------------------------------+
| old_sm.phones | check | warning | Table is marked as crashed and last repair failed |
| old_sm.phones | check | error | Found 6833 keys of 3930951 |
| old_sm.phones | check | error | Corrupt |
+-----------------------+-------+----------+--------------------------------------------+
3 rows in set (0.37 sec)
Запускаю восстановление таблицы.
mysql> repair table phones;
+-----------------------+--------+----------+-------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------------+--------+----------+-------------------------------------------+
| old_sm.phones | repair | error | Can't create new tempfile: './old_sm/phones.TMD' |
| old_sm.phones | repair | status | Operation failed |
+-----------------------+--------+----------+-------------------------------------------+
2 rows in set (0.01 sec)
Т.е. при запущенном mysql-сервере восстановлению не подлежит. Останавливаю mysql
service mysql stop
Запускаю восстановление с помощью myisamchk. Данный метод будем работать с таблицами на движке MyISAM. Если у вас таблицы на движке InnoDB может помочь пересоздание таблицы с заливкой старых данных.
root@112-1:/var/lib/mysql/old_sm# myisamchk -r -f phones.MYI
- recovering (with sort) MyISAM-table 'phones.MYI'
Data records: 3930951
- Fixing index 1
- Fixing index 2
- Fixing index 3
- Fixing index 4
- Fixing index 5
Запускаю mysql сервер
service mysql start
Ошибка пропала, что и требовалось.