Вам понадобится
- - учетные данные root на целевой машине;
- - установленный пакет утилит администрирования MySQL сервера.
Инструкция
1
Начните сеанс работы с учетными данными пользователя root на машине с функционирующим сервером MySQL, под управлением которого находится база данных, предположительно имеющая поврежденные таблицы. Если имеется возможность непосредственной работы с целевым компьютером, осуществите вход в текстовую консоль или запустите эмулятор терминала с правами root. Если имеется удаленный доступ по SSH, используйте подходящую программу-клиент для совершения подключения.
2
Остановите сервер баз данных MySQL на целевой машине. Выполните команду service mysqld stop. Дождитесь завершения процесса останова (об этом будет свидетельствовать диагностическое сообщение).
3
Создайте резервную копию файлов таблиц базы данных, с которой будет производиться дальнейшая работа. При этом удобно использовать файловый менеджер. Перейдите в папку, содержащую файлы таблиц. Она имеет имя, идентичное названию базы данных и располагается в директории db, которая находится в корневом каталоге сервера (адресуется переменной chroot файла конфигурации my.cnf). Скопируйте из текущей папки в какую-либо временную директорию все файлы с расширением MYD и MYI.
4
Осуществите проверку одной или нескольких таблиц базы данных на предмет выявления повреждений. В текущем каталоге выполните команду myisamchk с опцией -c (или вообще без опций) для обычного сканирования. Используйте опцию -m для тщательной, и опцию -e для особо тщательной проверки. В качестве последнего параметра укажите имя или маску имен файлов, которые будут обработаны. Например:myisamchk -c test_table.MYImyisamchk *.MYI
5
Восстановите таблицу или таблицы, в которых были найдены повреждения. Выполните команду myisamchk с опцией -r для обычного или с опцией -o для «бережного» восстановления. В качестве последнего параметра, как и в предыдущем шаге, передавайте имя или маску имен целевых таблиц. Например:myisamchk -o test_table.MYI