Статьи

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

В предыдущей статье мы увидели, как вручную создать резервную копию сайта WordPress . В частности, мы увидели, как сделать резервную копию базы данных и как ее восстановить.

Однако, когда мы пытаемся восстановить базу данных, может возникнуть проблема, которая не обсуждалась в предыдущей статье. Как насчет больших баз данных? При использовании командной строки размер обычно не является проблемой, поскольку мы можем использовать MySQL для экспорта или ввода файлов любого размера. Однако, если у вас нет SSH-доступа к конкретной хостинговой среде, большой экспорт и импорт базы данных могут стать настоящей проблемой при использовании таких инструментов, как phpMyAdmin. Часто существуют ограничения на разрешенную загрузку файлов. Но есть способ легко создавать резервные копии и восстанавливать большие базы данных WordPress.

В этой статье я расскажу, как восстановить большие дампы базы данных с помощью полезного инструмента под названием BigDump. По сути, BigDump — это PHP-скрипт, который позволяет вам импортировать дамп базы данных настолько большого размера, насколько вы хотите, даже если ваш лимит загрузки низок. В этой статье предполагается, что у вас нет доступа по SSH / командной строке к вашему серверу, или вам удобнее пользоваться веб-приложением. Обратите внимание, что BigDump выпущен под лицензией GNU GPL 2.

После восстановления большого дампа базы данных с помощью BigDump я покажу вам, как автоматически генерировать эти дампы благодаря плагину WordPress с именем WP-DBManager, потому что у вас нет времени тратить время на ручное резервное копирование базы данных каждый день!

Создание BigDump-готового дампа базы данных

Я уже рассмотрел, как сделать резервную копию базы данных WordPress в предыдущей статье , поэтому мы не будем описывать, как сделать это снова. Однако есть кое-что, что вы должны знать, если хотите использовать BigDump.

На практике BigDump разбивает ваш файл на столько файлов, сколько необходимо для вашего сервера, чтобы разрешить импорт, и иногда разделение может вызвать проблемы — если вы используете расширенные вставки, которые позволяют оптимизировать ваши запросы SQL, объединяя несколько запросов INSERT в один.

Давайте проясним ситуацию на простом примере. Предположим, что у нас есть таблица tbl с тремя столбцами a , b и c . В этой таблице у нас есть две строки: (1, 2, 3) и (4, 5, 6) . Если мы не используем расширенные вставки, для вставки двух строк необходимы два запроса:

 INSERT INTO tbl (a, b, c) VALUES (1, 2, 3); INSERT INTO tbl (a, b, c) VALUES (4, 5, 6); 

Тем не менее, мы можем использовать расширенные вставки для оптимизации этой вставки:

 INSERT INTO tbl (a, b, c) VALUES (1, 2, 3), (4, 5, 6); 

Здесь мы вставили две строки с одним запросом. Конечно, в этом примере выигранное время незначительно, но при большой таблице, содержащей большое количество строк, преимущество может быть значительным.

Проблема в том, что если ваша таблица очень большая, BigDump не может разделить эти типы запросов. Вот почему мы должны избегать расширенных вставок, когда мы хотим использовать BigDump: мы должны попросить phpMyAdmin (или ваш предпочтительный инструмент / метод) экспортировать наши данные в форме первого фрагмента кода SQL выше, с INSERT INTO в каждой вставке.

Файл будет больше. Однако, поскольку мы будем использовать скрипт, который поддерживает любой необходимый нам размер, размер не будет проблемой.

Хорошей новостью является то, что мы можем попросить phpMyAdmin избегать расширенных вставок. Для этого, когда мы экспортируем базу данных, мы можем выбрать опцию « Custom », чтобы настроить способ создания дампа.

пользовательский экспорт

Затем в разделе « Параметры создания данных » мы найдем опцию « Синтаксис для использования при вставке данных ». Значение по умолчанию — расширенные вставки: замените его на первое (« включайте имена столбцов в каждую INSERT »). Таким образом, phpMyAdmin будет генерировать вставки, как мы видим выше.

нет расширенных вставок

Теперь мы готовы использовать BigDump!

Восстановление большой базы данных с помощью BigDump

Скачать и установить BigDump

Вы можете скачать BigDump с официального сайта BigDump . Вы загрузите архив, содержащий файл PHP с именем bigdump.php .

Вы можете разместить BigDump в любом месте на своем компьютере, в каталоге, доступном с вашего веб-сервера (например, я создал специальную папку с именем « Инструменты », которая содержит некоторые полезные инструменты, такие как BigDump).

Затем вы можете получить доступ к BigDump, используя его URL (в моем примере это http://127.0.0.1/Tools/bigdump.php ).

Инициализация BigDump

Перед импортом нашего большого файла нам нужно инициализировать BigDump, чтобы он знал, как получить доступ к нашей базе данных. Это может быть достигнуто путем редактирования файла bigdump.php .

Первые четыре определенные переменные, сразу после большого комментария, информирующего нас о лицензии, — это те, которые вам нужно будет отредактировать.

Их имена довольно понятны: в $db_server вы должны указать сервер, на котором хранится ваша база данных, в $db_name имя вашей базы данных, а в $db_username и $db_password ваши данные для входа. Эти данные те же, что и в файле wp-config.php или в любом другом веб-приложении, использующем MySQL.

По умолчанию BigDump использует кодировку utf8 но вы можете изменить это, отредактировав значение переменной $db_connection_charset определенной сразу после тех, которые мы только что отредактировали.

Теперь мы готовы импортировать наш большой файл. Просто зайдите на BigDump, посетив его URL, как описано выше.

Импорт большого дампа базы данных

Есть два способа импортировать большой файл. Первый — используя созданную форму BigDump: вы обычно используете кнопку « Обзор… », чтобы выбрать файл, и нажимаете кнопку « Загрузить », чтобы отправить файл. Проблема с этим методом в том, что вы все еще ограничены лимитом загрузки вашего сервера. Более того, каталог, содержащий BigDump, должен быть доступен для записи на PHP.

MySQL dump

Второй способ заключается в прямой загрузке файла на сервер, например, с использованием FTP / SFTP / SCP. Ваш файл должен быть помещен в тот же каталог, что bigdump.php файл bigdump.php .

Как только ваш файл загружен (благодаря форме или через FTP / SFTP / SCP), он становится доступным из интерфейса BigDump.

импортированный файл

Если папка доступна для записи, вы можете удалить файлы SQL непосредственно из этого интерфейса после ее использования. Чтобы импортировать файл в базу данных, указанную в переменных, которые мы редактировали выше, нажмите ссылку « Начать импорт » в строке, соответствующей файлу, который вы только что загрузили.

Затем BigDump отобразит новую страницу, показывающую ход импорта. Все, что вам нужно сделать, это дождаться окончания файла. Вы также можете прервать импорт, нажав на ссылку « СТОП » под таблицей.

импорт

Как только импорт закончен, вот и все! Ваши данные импортируются в вашу базу данных, и вы можете удалить свои файлы SQL. Поздравляем, вы только что достигли предела размера, когда хотите импортировать файл SQL!

импорт завершен

WP-DBManager — плагин WordPress для автоматического резервного копирования вашей базы данных

Мы знаем, как вручную создать резервную копию нашей базы данных WordPress. И как его восстановить, даже если он огромный, благодаря BigDump. Однако ручное резервное копирование базы данных не является увлекательной задачей, особенно если мы делаем это каждую неделю или каждый день. Вот почему существует широкий спектр инструментов, которые могут автоматически сделать это для нас.

Также упоминалось в предыдущей статье о поддержке WordPress , WP-DBManager свободно доступен на WordPress.org . WP-DBManager хранит свои резервные копии в каталоге /wp-content/backup-db и в некоторых случаях не может создать эту папку самостоятельно. Чтобы устранить эту проблему, создайте эту папку и сделайте ее доступной для записи на PHP.

Чтобы создать первую начальную резервную копию вашей базы данных, вы можете перейти к записи « Backup DB » в меню « Database » (которое появляется при активации плагина). В нижней части страницы вы сможете нажать кнопку « Резервное копирование », которая запустит резервное копирование.

Вы можете управлять своими резервными копиями через « Управление резервной базой данных ». Здесь вы сможете удалить старые резервные копии, загрузить те, которые хотите восстановить, или даже отправить их по электронной почте.

Раздел, который нас действительно интересует, это « Опции БД », а именно подраздел « Автоматическое планирование ». Первая опция, « Автоматическое резервное копирование БД », позволяет вам установить интервал времени для ваших резервных копий. Например, если вы установите «2 недели», WP-DBManager будет автоматически создавать резервные копии вашей базы данных каждые две недели. Вы сможете получить доступ к этим резервным копиям из раздела, который мы описали выше, но вы также можете получать их по электронной почте, что может пригодиться для некоторых.

автоматическое резервное копирование

В заключение

Резервное копирование базы данных WordPress важно. Он содержит данные для вашего сайта, и без его резервного копирования, если ваш сайт WordPress дает сбой, вы рискуете потерять ценные данные.

Есть несколько способов сделать резервную копию вашей базы данных: ручной и автоматический с помощью WP-DBManager. Вы даже можете разработать свои собственные инструменты. Если это так, то, пожалуйста, не стесняйтесь поделиться ими в комментариях ниже!

Более того, с BigDump вы можете легко восстановить ваши данные независимо от их размера. Вы можете восстановить файл одним щелчком, не разбивая файл вручную.