Как восстановить таблицу?

3 ноября 2014 г. Просмотров: 688
Сегодня MySQL является одним из наиболее популярных решений среди малых и средних систем управления базами данных. Из достоинств MySQL можно выделить возможность работы с таблицами разных типов. Один из них - MyISAM. Такие таблицы отлично подходят для хранения часто запрашиваемых данных, но при сбоях в процессе модификации могут быть легко повреждены. Поэтому нередки случаи, когда требуется восстановить таблицу типа MyISAM.

Вам понадобится

  • - учетные данные root на целевой машине;
  • - установленный пакет утилит администрирования MySQL сервера.

Инструкция


  • Начните сеанс работы с учетными данными пользователя 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.
  • Оцените статью!