Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

325

Від автора: прийшов в гості до одного, а у його дружини істерика, папуга кричить: «Травень-ес-кью-ель дамп». Сам один лежить з головним болем і маніакальним бажанням дізнатися, як відбувається відновлення MySQL з дампа. Щоб врятувати голови інших «необізнаних», нерви їхніх дружин і голосові зв’язки папуг, розглянемо цю тему докладніше.

Небезпека «All inclusive»

Мій друг, як і багато хто з новачків, для вивчення азів розробки використовує програмні пакети «Все включено». Найпоширенішим в Рунеті є джентльменський набір «Денвер». І своєю «комплексністю» (до його складу входить локальний сервер, оболонка для роботи з СУБД, сервер MySQL) він доводить цих «джентльменів» до нестями.

До складу «Денвера» входять лише кілька стандартних утиліт для роботи з MySQL. А так як всі ми сучасні люди, то за відсутньою інформацією (для розуміння сутності чого-небудь) вирушаємо в інтернет. Але в матеріалах, опублікованих в Мережі, нічого не говориться, що для виконання окремих наборів команд потрібна наявність в стандартному пакеті MySQL спеціалізованих утиліт. Наприклад, щоб створити дамп бази даних MySQL, потрібна програма MySQLDump.

Тому, якщо для навчання та тестування коду ви також використовуєте Denwer, і описувані в цьому матеріалі запити не будуть виконуватися в командному рядку, то перейдіть за адресою: D:\Webserver\usr\local\mysql-5.5\bin

І подивіться, які утиліти для роботи з сервером СУБД є «на борту» клієнтської машини. Повторюся ще раз, нам сьогодні потрібно програмка MySQLDump.

Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

Робота з MySQLDump

Дана утиліта являє собою звичайний «экзешник», який після скачування слід розмістити в папку bin (шлях до неї вказано в першому розділі матеріалу). Це маленький додаток дозволяє вирішувати «глобальні» завдання – здійснювати в MySQL відновлення з дампа, створювати бекапи і налаштовувати параметри резервних копій.

Утиліта не має власного інтерфейсу, тому робота з нею відбувається через стандартну CMD, що входить в стандартний набір програм Windows (запуск через меню «Пуск»). А тепер покроково:

Спочатку переходимо у віртуальний диск (створюється після запуску входить до складу «Денвера» Apache).

Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

Якщо ви не використовуєте набір для «джентльменів», то це не значить, що ви не джентльмен. Просто вам потрібно пропустити цей крок інструкції.

Потім за допомогою команди cd (change directory) вказуємо шлях до папки, де установлено MySQL. В «Денвері» ця директорія знаходиться тут: Z:\usr\local\mysql-5.5\bin

При окремої інсталяції системи управління БД ця папка розташовується: C:\Program Files…

Оскільки ми вже знаходимося на потрібному (віртуальному) диску, то нам залишилося вказати лише частину шляху після команди cd:

Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

Перевіримо працездатність програми, і створимо MySQL дамп бази, яка знаходиться на нашому сервері. Наприклад, БД «wordpress». Для цього будемо використовувати однойменну з утилітою команду mysqldump. Ось її синтаксис:

mysqldump -u username -p password name_database > backup – database.sql

Приклад використання команди:

mysqldump -uroot wordpress>Z:\home\localhost\dump\wp_copy.sql

В результаті ми отримали дамп бази даних сайту WordPress:

Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

Що таке дамп?

Якщо нічого не знаєте про дампі бази даних MySQL, і що це таке, з працею здогадуєтеся, то цей розділ для вас. Дамп являє собою одну з різновидів резервних копій баз даних. Точніше, файли копій БД (в залежності від типу і засоби створення), можуть містити рядки даних певного типу, а також включати в себе SQL-запити для відтворення втраченої інформації, її структури та значень параметрів.

Щоб не бути голослівними, відкриємо створену нами копію wp_copy за допомогою стандартного «Блокнота». Після недовгого вивчення його вмісту ми побачимо, що воно майже цілком складається з запитів, з допомогою яких можна відтворити структуру таблиць БД і їх вміст.

Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

Тестове відновлення

Якщо руки сверблять, а мило не допомагає, то проведемо «тестовий заїзд» утиліти. Для початку через phpMyAdmin (щоб було швидше) створимо тестову БД «Auto» з двома таблицями. Одну назвемо «car», а іншу «color». Додайте в них по кілька рядків даних для наочності.

Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

Тепер створимо MySQL дамп нас цікавить бази. Резервну копію збережемо на колишньому місці. Код запиту:

mysqldump -uroot auto>Z:\home\localhost\dump\auto_copy.sql

Перейшовши в папку dump, бачимо, що утиліта створила копію «auto_copy».

Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

Знову заходимо в phpMyAdmin і видаляємо всі таблиці бази «auto». Не хапайтеся за серце, зараз все повернемо на місце

Засоби відновлення MySQL з дампа – рятуємо звязки папугу!

У наступному запиті нам потрібно лише змінити напрямок потоку даних, і всі віддалені (втрачені дані) відновляться:

mysqldump -uroot autoОсь тепер ви стали справжніми професіоналами в MySQL і знаєте, як відновити базу з дампа. Можете сміливо видаляти і заново створювати втрачені БД за допомогою утиліти MySQLDump. Хоча краще утриматися від таких експериментів – побережіть серце дружини і нерви папугу Засоби відновлення MySQL з дампа – рятуємо звязки папугу!