Відновлення MySQL баз даних ручними і «механічними» способами

18

Від автора: добрий день, шановні. У вас щось трапилося? Знову «викинули» не ту базу даних? Ну, це не смертельно, якщо знати все про відновлення MySQL. Зараз ми розповімо вам всі тонкощі цього ритуалу. Для цього потрібен бубон, комашка з носа белохвостого тюленя… Це жарт! А все серйозне по цій темі буде викладено далі.

Горе можна виправити, якщо видалили базу

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

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

Швидкий спосіб відновлення

Найчастіше робота з БД в інтернеті відбувається через phpMyAdmin, який є веб-інтерфейсом для даної СУБД. Щоб відновити базу MySQL вручну:

Зайдіть в phpMyAdmin і виберете потрібну БД.

Перейдіть по вкладці «Імпорт», яка розташована в головному верхньому меню.

В розділі «файл» виберіть джерело потрібної резервної копії бази.

Натискання на кнопку «Ок».

Відновлення MySQL баз даних ручними і «механічними» способами

Після цього замість поточної версії БД буде завантажена раніше збережена. Варто відзначити, що даний веб-інтерфейс не підходить для бекапа великих масивів даних, оскільки максимальний підтримуваний розмір завантажуваної бази становить всього 2 Мб.

В phpMyAdmin не реалізована функція автоматичного створення резервних копій, а лише вручну. Весь процес резервування відбувається через вкладку «Експорт». Тут ви можете задати формат копії, спосіб виводу та експорту.

Відновлення MySQL баз даних ручними і «механічними» способами

Робота через MySQLdump

MySQLdump являє собою веб-додаток, що працює на стороні сервера. Воно призначене для відновлення баз MySQL з резервних копій, створених за допомогою програми. Щоб сильно не зариватися», ми продемонструємо створення простого бекапа і відновлення з нього БД. В якості майданчика для експерименту використовуємо найпопулярніший локальний сервер Рунета Denwer.

Для початку потрібно скачати MySQLdump та розташувати його за адресою: F:\Webserver\usr\local\mysql-5.5\bin

Відновлення MySQL баз даних ручними і «механічними» способами

MySQLdump є консольним додатком, тому вся подальша робота з ним буде відбуватися через командний рядок (cmd.exe). Тепер поетапно:

Запускаємо Denwer.

Через командний рядок заходимо на віртуальний диск (у прикладі – це диск Z).

Заходимо в папку, де «лежить» MySQLdump.

Відновлення MySQL баз даних ручними і «механічними» способами

Після цього запускаємо утиліту на виконання. Перед тим, як відновити БД MySQL, в якості прикладу створимо в папці bin резервну копію бази my_db1, і назвемо бекап «db1». Для цього ми використовуємо команду mysqldump.

Відновлення MySQL баз даних ручними і «механічними» способами

Тепер відновимо із створеної копії (db1) іншу базу даних. Для цього використовуємо команду mysql.

Відновлення MySQL баз даних ручними і «механічними» способами

Код прикладів використання обох команд:

C:\Users\домашний>Z:
Z:\>cd usr\local\mysql-5.5\bin
Z:\usr\local\mysql-5.5\bin>mysqldump -uroot my_db1>db1.sql
Z:\usr\local\mysql-5.5\bin>mysql -uroot db2Якщо трохи придивитися до коду, то можна помітити, що обидві команди мають загальний синтаксис. Єдине, що їх відрізняє – це назви джерел даних і копій. А також знак напрямки руху даних («»).

uroot – ім’я користувача. Воно вказується відразу після параметра u (без пробілу). Крім цього синтаксис команд включає ще кілька параметрів. Серед них: пароль, адресу віддаленого хоста. З допомогою команди mysqldump можна експортувати БД в різні формати, стискати дані. Також це перевірений спосіб, як можна відновити таблицю MySQL.

Утиліта MySQLdump (з допомогою однойменної команди) дозволяє експортувати бази у простому текстовому форматі (.txt). А так як текст володіє високим ступенем стиснення, то це ефективний спосіб зменшення обсягів бекапів, в ситуації, коли спостерігається «дефіцит» серверного простору.

Що можна зробити ще

Крім розглянутих двох основних методів для відновлення даних MySQL можна використовувати ще кілька консольних утиліт:

MySQL-консоль

Mysqlbinlog – для формування бекапів програма імпортує дані з серверних журналів бінарних логів. В них записуються всі користувацькі та системні запити (в бінарному коді), після виконання яких були змінені дані баз.

Також для популярних CMS розроблено безліч спеціалізованих додатків. Наприклад, для WordPress:

Keep Backup Daily.

UpdraftPlus Backup and Restoration.

Perfect Dashboard.

Відновлення MySQL баз даних ручними і «механічними» способами

Більш докладно зі списком рекомендованих плагінів для відновлення і створення резервних копій можна ознайомитися тут.

Як бачите, відновлення MySQL не є такою вже нездійсненним завданням. Всі втрачені БД і таблиці можна «повернути» на місце. При цьому використовуються як «ручні» кошти, так і спеціалізовані розширення для CMS. Вам залишилося вибрати найбільш відповідне рішення. Для більш глибокого ознайомлення з роботою бази даних MySQL, рекомендую пройти Вам наш курс.