Резервное копирование и работа с большими базами данных

Лаборатория web-мастеров

Резервное копирование и работа с большими базами данных SQL является нетривиальной задачей, требующей нестандартного подхода, однако это является неотъемлемой частью защиты информации, которое обезопасит администратора ресурса как от физической потери данных в ходе механического повреждения (например, повреждение файловой системы сервера), так и от взлома и т.д. Так как стандартные средства не справляются с поставленными задачами, следует применять альтернативные инструменты.

Работа с большими базами данных

Самыми распространёнными способами резервного копирования базы данных SQL и их восстановления являются:

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

Оба способа являются применимыми при работе со стандартными базами данных, но если речь идёт о Big Data и размер базы данных превышает несколько сотен мегабайт или составляет несколько гигабайт и более, возникают проблемы, связанные с восстановлением базы из резервной копии, поэтому следует применять нестандартные инструменты и утилиты. Среди таких приложений следует выделить 2 наиболее популярных: Sypex Dumper и Adminer, речь о которых пойдёт далее.

Следует помнить, что при создании резервной копии средствами панели управления сервером или phpMyAdmin, зачастую, не возникает проблем вне зависимости от размеров базы данных, поэтому данные утилиты стоит рассматривать, в первую очередь, с точки зрения восстановления базы данных SQL из backup.

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 базы данных можно рассматривать в качестве альтернативного способа.

Оцените статью