Відновлення пошкодженої таблиці mysql, блог вебмастера роману Чернишова
Черговий невеликий пост замітка, на тему відновлення пошкодженої таблиці mySQL. Іноді на жаль трапляється таке, що деякі таблиці БД «валяться», це може відбуватися як з вини хостера (короткочасне відключення живлення сервера), збої в роботі програмного забезпечення, так і з причин незалежних від адміністратора сервера \ VDS, тобто вас.
При пошкодженні таблиці, можуть бути наступні симптоми:
- Завантаження ЦП на 100%, процесом mysqld
- Повільна робота сайту на певних етапах (в момент звернення до пошкодженої таблиці)
- Повна відмова роботи сайту
- Затримки виконання запитів до інших таблиць
- Падіння процесу mysqld
При спробі запустити службу mySQL, командою
/etc/init.d/mysql restart
Може виникати наступна помилка:
ERROR 144 (HY000) at line 1: Table './BDname/TableName' is marked as crashed and last (automatic?) Repair failed
Де: BDname - ім'я вашої бази даних, TableName - ім'я пошкодженої таблиці
Для відновлення таблиці і введення mysqld в роботу, потрібно виконати команду:
myisamchk -r -q / var / lib / mysql / BDname / TableName
Де: / var / lib / mysql / - шлях до бази даних і таблиці
Після чого ми побачимо результат роботи і виправлення пошкоджених індексів таблиці наприклад: