База данных WordPress: как сделать резервное копирование (бэкап) БД. PhpMyAdmin - создание бэкапа базы данных, восстановление из бэкапа

Если вы храните данные в БД MySQL и вам важно не потерять их, то вам нужно регулярно делать бэкапы. Эта статья научит вас быстро через консоль делать бэкапы и восстанавливать их в БД MySQL. Также вы сможете перенести данные на другой сервер.

Как сделать бэкап через командную строку (используя mysqldump)

Если у вас есть доступ к серверу через консоль (SSH) вы можете быстро делать бэкапы и разварачивать их обратно. Эта позволяет быстро создавать дамп базы данных (дамп - это текстовый вариант БД) и восстанавливать их обратно, быстрее чем через phpmyadmin, adminer и прочее. Дамп базы будет состоять из SQL-команд для создания копии вашей БД. Вот команда создания дампа:

$ mysqldump --opt -u -p >

- Имя пользователя БД (возможно root)
- пароль к вашему пользователю, можно писать слитно если он без каких-то особых знаков и пробелов, например -proot, -ppassword
- имя вашей БД
- имя файлу куда будет сохранен бэкап
[--opt] - опции к команде mysqldump, можно пропустить и не писать

Допустим у вас есть база данных Drupal, а имя пользователя root с паролем password и имя файла будет backup.sql, тогда команда будет такая:

$ mysqldump -u root -ppassword DrupalDB > backup.sql

Можно опустить пароль или пароль содержит пробелы и другие особые знаки (#!,-_), то тогда вам придется вводить пароль отдельно и команда будет такая:

$ mysqldump -u root -p DrupalDB > backup.sql

Вы можете также бэкапить отдельные таблицы, для этого нужно перечислять таблицы через пробел, например nodes users:

$ mysqldump -u root -p DrupalDB nodes users > backup.sql

Помимо того чтобы бэкапить отдельные таблицы, можно бэкапить сразу несколько БД, для этого нужно указать параметр --databases это позволит через пробел указать нужные БД:

$ mysqldump -u root -p --databases DrupalDB Drupal7 Drupal8 > backup.sql

Если вы хотите перенести сервер MySQL полностью, то вы можете скопировать все данные с помощью параметра --all-databases:

$ mysqldump -u root -p --all-databases > alldb_backup.sql

Команда mysqldump имеет также несколько полезных параметров:

--add-drop-table - позволяет удалять таблицы перед разварачиваем этого бекапа (то есть в дамп будет добавлены SQL-запросы DROP TABLE перед CREATE TABLE той же таблицы).

--no-data - позволяет копировать только структуру БД без данных, например полезно когда вы копируете таблицы кеша, которые в друпале могут быть с сотнями тысяч ненужных нам записей.

--add-lock - позволяет добавить LOCK TABLES и UNLOCK TABLES. Если размер БД большой то таблицы могут быть залочены на продолжительное время.

Как сделать бэкап MySQL БД со сжатием

Пожалуй наиболее подходящий варинт, потому что сжать удается в 10-20 раз и бэкапы из больших баз данных становится вполне небольших размеров. Для сжатия мы будем пользоваться командой gzip:

$ mysqldump -u root -p DrupalDB | gzip -9 > backup.sql.gz

Если вы хотите разархивировать файл (не восстановить БД, а просто разархивировать), то воспользуйтесь этой командой:

$ gunzip backup.sql.gz

Как восстановить БД MySQL из бэкапа

Для восстановления БД из дампа, вам нужна чистая БД, можете удалить таблицы с помощью adminer"а или phpmyadmin"а. Если вы использовали параметр --add-drop-table, то таблицы сами удаляться и зальются и ничего удалять прежде не нужно. Вот команда чтобы восстановить БД из дампа:

$ mysql -u root -p DrupalDB < backup.sql

Если у вас был сжатый бэкап, то воспользуйтесь этой командой:

Gunzip < backup.sql.gz | mysql -u root -p DrupalDB

Бэкап и восстановление через Adminer (замена PhpMyAdmin)

Adminer - это замена PhpMyAdmin. Он такой же по функционалу, только сделан в виде одного небольшого файла, что весьма удобно:

Просто копируем файл в корень нашего сайта и обращаемся к нему через браузер:

http://имя_вашего_сайта/adminer-4.2.1.php (можете переименовать в adminer.php для удобства):

Теперь нажимаем Экспорт (Dump) и выгружаем данные. Причем мы можем не выгружать ненужные нам данные кэша:

Для загрузки дампа обратно используйте вкладку Импорт (Import):

Время на чтение: 5 минут

Поделюсь опытом как восстановить базу данных (БД) сайта из бэкапа через phpMyAdmin на вашем хостинге.

Данная вещь может ни разу вам не пригодиться, но на всякий случай должны понимать как действовать в критической ситуации. Как говорится: "Готовь сани летом...".

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

Клик для увеличения

На данный момент у вас уже есть бэкап БД на компьютере. Остается его залить в текущую БД с подменой, чтобы сайт снова начал работать, либо вступили в силу изменения, которые вы делали на локалке или другом сайте. Для этого необходимо попасть в phpMyAdmin у вас на хостинге. Покажу на примере своего (на других будет похоже в функциональной части).

Сам phpMyAdmin выглядеть у вас будет аналогично, быть может с небольшими отличиями.

  • Перехожу в соотв. раздел - правый верхний угол предыдущей картинки MYSQL
  • Напротив нужной БД (если у вас не одна, а несколько) нажимаю на надпись phpMyAdmin (картинка ниже)

Перед вами откроется вот такая страница, где необходимо кликнуть по названию своей БД:

Клик для увеличения

Теперь у вас появится возможность восстановить сайт из бэкапа. Кликаете на "Импорт " в верхней панели:

Клик для увеличения

По-умолчанию все сайты на WordPress идут в кодировке UTF-8, поэтому данную настройку трогать не нужно. Если же у вас сайт в другой кодировке, то подберите подходящую из выпадающего списка. Остальные оставляем как есть на странице.

После нажатия ОК запустится процесс восстановления сайта. Это можете занять несколько секунд или минут, в зависимости от размера БД.

Если в процессе возникнут проблемы с восстановлением, то в верхней части страницы появится соответствующая надпись с описанием ошибки. Здесь вам уже придется обратиться за помощью к хостеру, т.к. ошибки возникают чаще всего из-за настроек сервера (сюда не относится ситуация, когда у вас поврежден сам бэкап БД).

Ответственное отношение к резервному копированию – признак опытного администратора. Каждый владелец сайта на WordPress рано или поздно сталкивается с ситуацией, когда после установки нового расширения или внесения изменений в конфигурацию работа сайта нарушается вплоть до невозможности войти в админ-панель WordPress. Имея в распоряжении свежий бэкап сайта, можно оперативно восстановить его работу встроенными средствами ISPmanager, независимо от масштаба сбоя.

Полный бэкап WordPress

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

Проблемы, которые помогает решить регулярное резервное копирование:

1. Беспокойство и стресс. При активной работе с сайтом регулярно возникают мелкие и крупные неполадки, большинство из которых удается быстро устранить без применения резервной копии. Однако само её наличие позволяет заниматься восстановлением спокойно и «без нервов».

2. Потеря времени. Восстановление сайта после сбоя – непростая задача, требующая значительных трудозатрат. Свежий бэкап сайта позволяет решить проблему в считанные минуты.

3. Потеря дохода. Простой сайта всегда влечет за собой финансовые потери. Придется заплатить за восстановительные работы или потратить собственные силы, которые предпочтительно пустить на решение более полезных задач. Зная, как сделать полный бэкап сайта на WordPress и провести восстановление из резервной копии, можно свести финансовые потери при сбоях фактически к нулю.

4. Утрата доверия. Если сайт продолжительное время недоступен, у клиентов складывается негативное впечатление о компании в целом. Но если сайт будет оперативно восстановлен, проблему практически никто не заметит.

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

Способ №1 – Полный бэкап WordPress через панель управления

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

Итак, чтобы настроить бэкап сайта в панели ISPmanager (она используется ), необходимо войти в свою учетную запись.

Появится форма для настроек, в которую следует внести данные хранилища, информацию для аутентификации, формат хранения архивов и некоторые другие данные. Здесь же указывается необходимая периодичность резервного копирования, время и ограничения. После нажатия кнопки «Ok» появится новое окно ISPmanager, в котором необходимо отметить, какую информацию следует добавлять в архив.

Для полного сайта на WordPress достаточно сохранять все файлы и связанные с ним базы данных.

Способ №2 – Полный бэкап WordPress через FTP и phpMyAdmin

Этот способ более низкоуровневый, чем автоматическое резервное копирование в ISPmanager, но он достаточно простой. Вооружившись данным руководством, вы без труда разберетесь, как быстро сделать бэкап сайта на WordPress. FTP мы будем использовать для скачивания с сервера файлов, а phpMyAdmin – для создания дампа базы данных MySQL. Рекомендуем вам создать на своем рабочем компьютере отдельную папку для хранения резервных копий, чтобы при необходимости экстренного восстановления быстро найти нужный бэкап.

Для начала скопируем каталог WordPress. Бэкап сайта должен включать все находящиеся в нем файлы. Если вы создавали сайт в полуавтоматическом режиме через ISPmanager или по какому-нибудь руководству, все файлы WordPress скорее всего находятся в папке public_html или папке, название которой соответствует домену.

В качестве FTP-клиента мы рекомендуем вам использовать FileZilla, который позволяет произвести скачивание файлов, даже не имея ssh-доступа к серверу. Достаточно ввести имя пользователя и пароль, после чего открыть в левой панели целевой каталог на локальном компьютере, а в правой – каталог WordPress на удаленном сервере. Теперь выбираем его содержимое и нажимаем правой кнопкой мыши, в появившемся меню нажимаем «Скачать». Теперь разберемся, как сделать бэкап базы данных.

Заходим в phpMyAdmin через панель ISPmanager в разделе «Базы данных». Если у вас несколько сайтов, убедитесь, что вы выбрали правильную базу MySQL.

Если сомневаетесь, узнать точное имя базы можно в конфигурационном файле wp-config.php, находящемся в корневом каталоге WordPress. Откройте этот файл в любом текстовом редакторе и найдите такую строку:

define(‘DB_NAME’, *****)

Вместо звездочек будет указано название базы данных WordPress. Здесь же можно найти логин (DB_USER), пароль для доступа (DB_PASSWORD) и хост для подключения (DB_HOST). Этой информации будет достаточно для получения прав, необходимых при создании полной копии базы данных.

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

В окне phpMyAdmin Открываем базу данных и отмечаем все таблицы (выбрав пункт «Отметить все» в нижней части экрана). Далее в верхней части переходим на вкладку «Экспорт».

Настройки менять не требуется. Убедитесь, что выбран формат SQL, и нажмите «Вперед».

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

Разобравшись, как сделать полный бэкап WordPress-сайта, вы можете быть уверены, что в любой момент сможете вернуть проект в рабочее состояние. Главное – всегда храните резервную копию каталога и базы данных в надежном месте. Для восстановления достаточно закачать файлы обратно при помощи FileZilla и загрузить базу данных из дампа при помощи phpMyAdmin. Чтобы всем этим не заниматься, для вас есть

– Это скрипт, который написан на языке PHP и предоставляет возможность управлять базами данных MySQL. Позволяет запускать команду SQL запросов, работать с полями и таблицами базы данных (создавать, редактировать, удалять и т.д.). В PhPMyAdmin можно создавать новые базы данных, делать и многое другое. PhpMyAdmin установлен практически на каждом хостинге и входит в стандартную конфигурацию локального сервера Денвер.

В большинстве случаев для работы с Joomla PhрMyAdmin применяется только для создания новых баз данных (чаще всего это делается на Денвере) и для копирования и восстановления (Импорт/Экспорт). Остальные же возможности PhрMyAdmin используют продвинутые Веб-мастера и разработчики.

В этой статье я хочу рассказать о ситуациях, в которых можно использовать PhpMyAdmin.

Создание базы данных (в основном это на Денвере).

Для этого нужно набрать в адресной строке браузера этот путь:

http://localhost/tools/phpmyadmin

Пройдя по этой ссылке запустится phpMyAdmin. (Денвер должен быть установлен и запущен).

Для того, чтобы создать базу данных, нужно в поле Новая база данных ввести название будущей базы и нажать кнопку создать, при этом стоит отметить, что кодировка базы данных для Joomla должна быть в UTF-8 (как на рисунке ниже).

Если нужно создать еще и пользователя для новой базы данных, тогда нужно нажать на кнопку привилегии и на открывшейся странице нажать ссылку "Добавить нового пользователя " (Пользователь имеет определенные привилегии которые устанавливаются при его создании, за счет этих привилегий он может изменять, удалять, создавать новые таблицы и поля в базе данных). Если рhрMyАdmin находится на хостинге, тогда вход/авторизация происходит по заданному имени пользователя и паролю).

Далее нужно заполнить необходимые поля и нажать кнопку ok в нижней части экрана, пример заполнения полей и действий показан на рисунке ниже. Если все сделали правильно, Вы увидите сообщение, что был добавлен новый пользователь.

Примечание . Создание пользователя возможно только на Денвере, на обычном же хостинге как правило пользователь уже создан и имеет все необходимые привилегии (имя пользователя и пароль высылается на Вашу почту), или же новый пользователь создается через отдельный интерфейс хостинг провайдера (со всеми необходимыми привилегиями), где имя пользователя и пароль Вы вводите сами и далее они используются для авторизации в phpMyAdmin (только не забудьте его куда-нибудь записать).

Создание бэкапа БД с помощью phpMyAdmin

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

На рисунке ниже выбрана база данных с именем auto (45) , в скобках указывается количество таблиц которые находятся в базе данных.

После того как Вы выберите базу данных откроется новое окно с ее содержимым. Далее вам нужно нажать на кнопку «Экспорт » в верхней части окна (как показано на рисунке ниже).

Кнопка «Экспорт - означает скопировать базу данных в текстовый файл и сохранить его на компьютере. По нажатию этой кнопки откроется новое окно с настройками параметров экспорта, все, что нужно здесь нужно сделать, так это выбрать все таблицы базы данных, установить галочку «Сохранить как файл » и нажать на кнопку ok в некоторых версиях phрMyAdmin эта кнопка называется пошел .

Заметьте, что при экспорте базы данных можно указывать различные настройки, например, упаковать базу данных в архив, в основном это применяется когда размер базы данных очень большой и занимает десятки или даже сотни мега байт, так как экспортировать такую тяжелую базу данных на некоторых серверах не получится, из за ограничений на хостинге. Для решения этой проблемы нужно установить формат, в который будет упакована база данных во время экспорта и нажать кнопку ok .

Восстановление БД из бэкапа посредством phpMyAdmin

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

Это приведет к открытию следующего окна с перечнем всех таблиц, для подтверждения удаления таблиц. Нужно кликнуть на «Да ». После этого уже можно восстанавливать БД из сделанной раньше резервной копии (бэкапа).
Для этого переходим на вкладку «Импорт » и в появившемся окне нажимаем на а кнопку «Обзор » и находим ранее сделанную копию БД на своем компьютере. Далее нужно обязательно проследить, что бы кодировка стояла UTF-8 . Затем нажимаете кнопку «ОК » и ожидаете окончания загрузки резервной копии БД.

Другие способы использования

Вот еще несколько примеров использования PhpMyAdmin, однажды во время тестирования одного компонента каким то образом повредилась база данных, в результате чего сайт полностью перестал работать. Во время повреждения БД, если такое случается, то выводится сообщение о том, что база данных повреждена или нет соединения. Чтобы решить данный трабл нужно зайти в PhpMyAdmin, который тоже выводить соответствующее сообщение. Далее нужно отметить галочкой поврежденную таблицу базы данных и выбрать из списка опцию - «Восстановить таблицу» , после чего, Вы увидите следующее сообщение: SQL-запрос был успешно выполнен .

Оптимизация таблиц в БД через phpMyAdmin

Также есть довольно полезная функция оптимизации таблиц. Эта опция удаляет все уже удалённые данные которые еще хранятся в таблицах, таким образом значительно очищается таблицу от мусора и уменьшается ее размер. Чтобы выполнить оптимизацию таблиц, нужно отметить все таблицы базы данных галочками и кликнуть по ссылке из списка «Оптимизировать таблицу» . Только обязательно сделайте резервную копию базы данных, на случай если что-то пойдет не так.

Следующим способом использования возможностей PhpMyAdmin является осуществление запросов SQL к таблицам БД. Данный момент является крайне удобным, особенно когда нужно поменять что-то однотипное сразу во всех текстах Вашего сайта. Например, если количество статей на Вашем сайте больше 100, то вручную это сделать довольно долго и трудоемко. А здесь один запрос и все готово.

Только всегда помните и не забывайте, что перед внесением каких-либо изменений нужно всегда делать резервное копирование данных. Статьи в Joomla содержатся в таблице, которая называется «jos_content », следовательно, чтобы внести изменения во все тексты требуется кликнуть на названии этой таблицы. В окне, которое находится по центру нужно перейти на закладку «Обзор».

На появившейся странице нужно кликнуть по «Изменить» . В новом окне нужно ввести текст запроса SQL, который внесет изменения во все статьи. Справа в окошке PhpMyAdmin выбрать можно будет лишь те поля, в которых требуется выполнять изменения.

Из всего указанного выше получается, что для спокойного сна нужно на своем локальном ПК иметь актуальные бэкапы (резервные копии) базы данных и файлов. Эти же бэкапы (резервные копии) можно применять, когда будете переносить сайт на новый хостинг.

mob_info