Как восстановить таблицу?
![](http://imguru.ru/application/maxsite/templates/max-elevation/images/date.png)
![](http://imguru.ru/application/maxsite/templates/max-elevation/images/post-view.png)
Сегодня MySQL является одним из наиболее популярных решений среди малых и средних систем управления базами данных. Из достоинств MySQL можно выделить возможность работы с таблицами разных типов. Один из них - MyISAM. Такие таблицы отлично подходят для хранения часто запрашиваемых данных, но при сбоях в процессе модификации могут быть легко повреждены. Поэтому нередки случаи, когда требуется восстановить таблицу типа MyISAM. Начните сеанс работы с учетными данными пользователя root на машине с функционирующим сервером MySQL, под управлением которого находится база данных, предположительно имеющая поврежденные таблицы. Если имеется возможность непосредственной работы с целевым компьютером, осуществите вход в текстовую консоль или запустите эмулятор терминала с правами root. Если имеется удаленный доступ по SSH, используйте подходящую программу-клиент для совершения подключения. Остановите сервер баз данных MySQL на целевой машине. Выполните команду service mysqld stop. Дождитесь завершения процесса останова (об этом будет свидетельствовать диагностическое сообщение). Создайте резервную копию файлов таблиц базы данных, с которой будет производиться дальнейшая работа. При этом удобно использовать файловый менеджер. Перейдите в папку, содержащую файлы таблиц. Она имеет имя, идентичное названию базы данных и располагается в директории db, которая находится в корневом каталоге сервера (адресуется переменной chroot файла конфигурации my.cnf). Скопируйте из текущей папки в какую-либо временную директорию все файлы с расширением MYD и MYI. Осуществите проверку одной или нескольких таблиц базы данных на предмет выявления повреждений. В текущем каталоге выполните команду myisamchk с опцией -c (или вообще без опций) для обычного сканирования. Используйте опцию -m для тщательной, и опцию -e для особо тщательной проверки. В качестве последнего параметра укажите имя или маску имен файлов, которые будут обработаны. Например:myisamchk -c test_table.MYImyisamchk *.MYI Восстановите таблицу или таблицы, в которых были найдены повреждения. Выполните команду myisamchk с опцией -r для обычного или с опцией -o для «бережного» восстановления. В качестве последнего параметра, как и в предыдущем шаге, передавайте имя или маску имен целевых таблиц. Например:myisamchk -o test_table.MYI Запустите сервер MySQL . Выполните команду service mysqld start. Закончите сеанс работы. Введите команду exit и нажмите Enter.
Оцените статью!
Вам понадобится
- - учетные данные root на целевой машине;
- - установленный пакет утилит администрирования MySQL сервера.