Резервне копіювання та робота з великими базами даних

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

Робота з великими базами даних

Найпоширенішими способами резервного копіювання бази даних SQL та їх відновлення є:

  • Резервне копіювання та відновлення бази даних SQL за допомогою панелі керування сервера;
  • Резервне копіювання та відновлення бази даних SQL за допомогою phpMyAdmin.

Обидва способи є застосовними при роботі зі стандартними базами даних, але якщо мова йде про Big Data і розмір бази даних перевищує декілька сотень мегабайт або становить декілька гігабайт і більше, виникають проблеми, пов’язані з відновленням бази з резервної копії, тому слід застосовувати нестандартні інструменти та утиліти. Серед таких застосунків варто виділити 2 найпопулярніші: Sypex Dumper та Adminer, про які йтиметься далі.

Слід пам’ятати, що при створенні резервної копії засобами панелі керування сервером або phpMyAdmin, зазвичай, не виникають проблеми незалежно від розмірів бази даних, тому ці утиліти варто розглядати, в першу чергу, з точки зору відновлення бази даних SQL з backup. 

Крім того, Вас може зацікавити налаштування Galera кластеру на MySQL.

Sypex Dumper – Менеджер резервного копіювання для баз даних MySQL

Sypex Dumper – це програмний продукт, за допомогою якого можна просто і швидко здійснити резервне копіювання бази даних SQL, а також відновити її, у разі необхідності, з резервної копії. На відміну від багатьох подібних програм, Sypex Dumper оптимізований для максимальної швидкості роботи, а також роботи з великими базами даних, обсяг яких складає сотні та тисячі мегабайт. Крім того, реалізовано можливість запуску за розкладом – cron.

Головним недоліком Sypex Dumper є відсутність підтримки версій PHP старше 5.4, через що для більшості користувачів він втратив свою актуальність.

Детальну інформацію та інструкцію з роботи з Sypex Dumper можна отримати на сторінці продукту: https://sypex.net

Adminer – Менеджер для роботи з SQL базами даних

Adminer (раніше phpMinAdmin) – повнофункціональний інструмент управління базами даних, написаний на PHP. На відміну від phpMyAdmin, він складається з одного файлу, готового до розгортання на сервері без будь-якої установки. Утиліта призначена для роботи з MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB та іншими базами даних через плагін.

Розробники Adminer позиціонують продукт як альтернативу phpMyAdmin, при цьому виділяючи ряд переваг на тлі останнього: простий інтерфейс, кращу підтримку функцій MySQL, вищу продуктивність та більшу безпеку.

Робота та установка менеджера баз даних Adminer проста:

  1. Завантажуємо останню актуальну версію утиліти з сайту розробника https://www.adminer.org/#download
  2. Створюємо директорію adminer на web-сервері з вашим ресурсом та завантажуємо в неї завантажену утиліту. Для зручності, скрипт можна перейменувати в index.php або adminer.php
  3. Відкриваємо скрипт у браузері. Для авторизації використовуємо Назву бази даних, Ім’я користувача бази даних та його Пароль:

Менеджер баз даних Adminer

Відновлення бази даних SQL за допомогою Adminer

Adminer – універсальний інструмент, який призначений для роботи з великими базами даних, тому він є універсальним засобом при відновленні резервної копії, розмір якої складає декілька десятків гігабайт – все залежить лише від продуктивності сервера та файлової системи. Робота з менеджером дуже проста та інтуїтивно зрозуміла.

Для імпорту дампа бази даних переходимо на вкладку Імпорт:

Відновлення бази даних SQL за допомогою Adminer

Існує 2 варіанти відновлення бази даних SQL за допомогою Adminer:

  • Завантаження файлу дампа бази у форматі .sql або .sql.gz через браузер. Проте, цей спосіб має свої недоліки при відновленні великих баз даних. Ці обмеження пов’язані з налаштуваннями web-сервера, серед яких: max_upload_file_size в налаштуваннях PHP, максимальний час виконання та обробки запиту тощо;
  • Завантаження файлу дампа бази у форматі .sql або .sql.gz безпосередньо через FTP. Цей спосіб є найбільш придатним для роботи та відновлення великих баз даних. Для відновлення резервної копії, перейменуйте файл дампа в adminer.sql (.sql.gz) та завантажте його в директорію зі скриптом:

Відновлення бази даних SQL

Після цього проводимо відновлення одним із обраних способів.

Резервне копіювання бази даних SQL за допомогою Adminer

Для створення резервної копії бази даних за допомогою скрипта Adminer достатньо перейти на вкладку Експорт:

Резервне копіювання великих баз даних

При створенні резервної копії рекомендується вибрати стиснення gzip. Це значно зменшить файл дампа бази даних. Коли Adminer згенерує файл резервної копії, автоматично розпочнеться його завантаження в браузері.

Однак, як згадувалося вище, зазвичай не виникають проблеми при створенні резервних копій баз даних стандартними засобами, тому використання Adminer для створення дампа SQL бази даних можна розглядати як альтернативний спосіб.

Оцініть статтю