Восстановление поврежденной таблицы 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/ — путь до базы данных и таблицы
После чего мы увидим результат работы и исправления поврежденных индексов таблицы например:
- check record delete-chain - recovering (with sort) MyISAM-table 'BDname/TableName' Data records: 0 - Fixing index 1 - Fixing index 2 - Fixing index 3 - Fixing index 4 Data records: 13422112 |
Восстановление прошло успешно, остается только запустить mySQL, выполняем команду
/etc/init.d/mysql start

Автор: 






