Назад | Перейти на главную страницу

Таблица MySQL MyISAM повреждена, как восстановить?

У меня есть поврежденная таблица MySQL MyISAM. Впервые он появился в моем журнале mysql как:

[ERROR] /usr/sbin/mysqld: Table './mydb/mytable' is marked as crashed 
and last (automatic?) repair failed

Я тогда побежал CHECK TABLE на нем, и после того, как я работал более часа, я получил следующее:

+--------------+-------+----------+----------------------------------------------------------+
| Table        | Op    | Msg_type | Msg_text                                                 |
+--------------+-------+----------+----------------------------------------------------------+
| mydb.mytable | check | warning  | Table is marked as crashed and last repair failed        |
| mydb.mytable | check | warning  | 5 clients are using or haven't closed the table properly |
| mydb.mytable | check | warning  | Size of indexfile is: 215237632      Should be: 4096     |
| mydb.mytable | check | error    | Record-count is not ok; is 4212263   Should be: 0        |
| mydb.mytable | check | warning  | Found 48 deleted space.   Should be 0                    |
| mydb.mytable | check | warning  | Found 1 deleted blocks       Should be: 0                |
| mydb.mytable | check | warning  | Found 8362327 key parts. Should be: 0                    |
| mydb.mytable | check | error    | Corrupt                                                  |
+--------------+-------+----------+----------------------------------------------------------+

Означает ли все это, что этот стол зашел слишком далеко, чтобы его можно было восстановить? Или должен REPAIR TABLE все еще работают? Или есть другие варианты исправить эту таблицу без замены данных? Я спрашиваю сначала, потому что эта таблица довольно велика для моей системы, и я чувствую, что потребуется очень много времени, чтобы узнать, будет ли ремонт работать.

Я продолжил REPAIR TABLE в любом случае, полагая, что если стол уже слишком далеко, мне больше нечего терять. К счастью, это сработало! Стол восстановлен и функционирует нормально.