От автора: прогресс, как и эволюция, не перестает идти вперед! Через пару десятков лет роботы будут вместе с нами гордо шагать по улице, спеша по делам, на работу…. А вдруг кому-нибудь из них станет плохо, и окружающие люди не смогут помочь бедному роботу! Может у него ногу от сервопривода сведет, или потеряет «сознание»! А мы не даже не знаем, как восстановить базу MySQL робота. Ой, как стыдно будет!
Возвращаемся в настоящее
Понятно, что описанная выше ситуация гипотетическая, по крайней мере для этого года точно :). Но все-таки восстановление информации, и знание всех тонкостей данного процесса пригодятся в настоящем любому вебмастеру или начинающему разработчику.
«Знал бы, где бэкап нужен, копию подложил!» — вот так мыслят настоящие администраторы баз данных. Они знают, что в интернете (как и в обычном мире) от всех напастей не перестрахуешься. И где, когда и почему полетит база (или даже сервер), никто вам не предскажет. Поэтому нужно взять себе в привычку создавать копию БД всякий раз, когда это возможно. А лучше настроить автоматическое создание резервных копий. Но это уже тема для другого материала.
Создание дубликатов
Чтобы научиться, как восстановить базу данных MySQL, для начала следует узнать, как создать ее копию. Для этого воспользуемся программной оболочкой phpMyAdmin.
Заходим в интерфейс программы. Слева выбираем базу, дубликат которой будем создавать. Затем переходим в верхнее меню и выбираем вкладку «Импорт». В появившемся (в основной рабочей области) окне с параметрами устанавливаем обычный способ экспорта.
Ниже выделяем таблицы, копии которых нужно создать. В разделе «Вывод» выбираем «Сохранить вывод в файл». То есть, оставляем здесь настройки всех параметров по умолчанию.
Все следующие разделы параметров тоже оставляем без изменений. В самом низу жмем на «ОК». После чего копия базы «db1» будет сохранена в папку загрузок вашего браузера.
Восстановление из сохраненного дубликата
Теперь рассмотрим обратный процесс, и научимся, как восстановить БД MySQL через интерфейс оболочки phpMyAdmin. Опять заходим в программу, выбираем в меню слева нужную базу. В верхней панели инструментов переходим через пункт «Импорт». Затем в открывшемся окне параметров («Импорт в базу данных db1») в разделе «Импортируемый файл» выделяем «Обзор компьютера» и выбираем созданную ранее копию.
Чтобы импортировать дубликат БД, осталось внизу нажать на «ОК». При положительном результате процесса phpMyAdmin выведет системное сообщение о том, что импорт завершен успешно.
Но такой способ бэкапа не всегда реализуем, поскольку программная оболочка может не быть «под рукой». Да и сам процесс восстановления через phpMyAdmin не лишен серьезных «шероховатостей».
Через phpMyAdmin удастся восстановить лишь небольшую базу, размер которой не превышает 2 МБ. Кроме этого перед импортом БД придется вручную удалять имеющийся на сервере экземпляр, иначе программа начнет ругаться о совпадении значений первичных ключей, чего быть не должно.
Бэкап через CMD
В отличие от различных программных оболочек для администрирования СУБД утилита CMD… Мне показалось, вы удивлены, потому что не знаете, что это за программное «чудо-юдо» такое. Так не годится, каждый «нечайник» программных наук знает, что это англоязычная аббревиатура командной строки.
Так вот, CMD присутствует на каждой локальной или серверной машине, работающей на основе операционной системы Windows. В других ОС также существуют аналоги командной строки, но мы остановимся на этой операционке. Рассмотрим, как восстановить базу данных MySQL с помощью данной стандартной программы.
Запускаем утилиту через меню «Пуск», выбрав ее среди стандартных программ. После этого вводим в окно командной строки путь к директории, где хранится «экзешник»; указываем юзера и пароль (если есть). Например:
1 |
Z:\usr\local\mysql-5.5\bin\mysql.exe -u root |
И нажимаем «Ввод». После этого выведется подробная техническая информация о версии сервиса, годе издания и несколько строчек с подсказками. Это говорит о том, что мы зашли на сервер MySQL.
Затем выделяем нужную нам базу с помощью следующего кода:
1 |
use db1 |
После нажатия на «Enter» сервер сообщит нам, что он «отметил» данную БД.
До того момента, как восстановить базу MySQL осталось пару шагов, поэтому наберитесь немного терпения. Представьте, что жизнь робота находится в ваших руках :). Теперь, чтобы указать СУБД путь к сохраненной на сервере копии мы используем команду source. Пример:
1 |
source Z:\home\localhost\dump\db2.sql |
«db2.sql» – это файл созданной копии базы, хранящийся по указанному пути. Вводим данный код в командную строку и запускаем на выполнение. После чего сервер СУБД выдаст нам отчетность о «проделанной работе»:
Чтобы убедиться, что MySQL нас не обманывает, заглянем в phpMyAdmin.
Как видите, восстановление прошло успешно, и нам удалось вернуть данные, утраченные из таблицы «animal». Все зверюшки опять в сборе :).
Мы узанали, как восстановить БД MySQL. Теперь можно смело ступать в будущее, поскольку теперь каждый из нас сможет оказать первую «техническую» помощью братьям нашим «железным». До встречи!