Содержание:

В базе данных MySQL хранится динамический контент сайта (комментарии, аккаунты пользователей, размещённые посты и т. д.). Потеря подобной информации недопустима, поэтому нужно заранее позаботиться о резервировании данных.

Все таблицы из базы данных можно экспортировать в отдельный файл, который потом же импортировать обратно для восстановления информации. Кроме этого, созданный дамп БД можно использовать для переноса информации в другую базу MySQL.

Существует два способа импорта/экспорта:

  • через веб-интерфейс PhpMyAdmin;
  • подключившись к консоли MySQL локально или через SSH.

Подробнее о подключении через протокол SSH можно узнать здесь.

Все описанные действия с MySQL схожи по выполнению на любых операционных системах Linux.

Экспорт базы данных с помощью PhpMyAdmin

В первую очередь требуется выполнить вход в интерфейс PhpMyAdmin. Список существующих баз находится в верхнем левом углу.

Базы данных phpmyadmin

Выбрав необходимую базу данных, нужно перейти в раздел «Экспорт».

Экспорт базы данных PhpMyAdmin

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

Во вкладке «Формат» рекомендуется выставить расширение  SQL (.sql) для экспортируемого файла. Но также можно использовать и другие форматы, такие как CSV (.csv) и XML (.xml).

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

Экспорт базы данных MySQL через консоль

Экспорт базы данных выполняется с помощью утилиты MySQLdump:

mysqldump --user=Login --password=Password db_name > db_name.sql

Переменные в приведенном примере:

  • «Login» – имя пользователя MySQL.
  • «Password» – пароль пользователя MySQL.
  • «db_name» – наименование базы данных.
  • «db_name.sql» – конечный файл.

MySQLdump позволяет экспортировать базу данных с удаленного сервера (если хосту разрешено подключение):

mysqldump --user=Login --password=Password --host=XXX.XXX.XXX.XXX db_name > db_name.sql

*Вместо «XXX.XXX.XXX.XXX» указывается актуальный IP-адрес сервера.

Импорт базы данных с помощью PhpMyAdmin

Для начала необходимо авторизоваться в интерфейсе PhpMyAdmin и выбрать базу данных в левом верхнем углу. После этого стоит перейти в раздел «Импорт».

Импорт базы данных PhpMyAdmin

Теперь нужно нажать «Выбрать файл» и в открывшемся проводнике выбрать SQL-файл (принимаются также архивы Gzip, Bzip2, Zip). В разделе «Формат» отмечается расширение используемого файла.

Все остальные параметры изменять необязательно. Завершить импорт можно нажатием кнопки «Вперёд»

Импорт базы данных MySQL через консоль (замена существующей)

Для начала необходимо авторизоваться в командной строке MySQL:

mysql --user=Login --password=Password

*Вместо «Login» и «Password» вводятся действительные данные пользователя MySQL.

Теперь выбирается существующая база данных, с которой планируется дальнейшая работа:

use db_name

*Вместо «db_name» вводится наименование существующей БД.

Остаётся выполнить импорт таблиц следующей командой:

source db_name.sql

*Вместо «db_name.sql» вводится путь до файла SQL (предварительно загружается на сервер).

Импорт и создание базы данных MySQL через консоль

Выше был описан способ импорта, при котором осуществляется замена таблиц в существующей базе данных. Но такой вариант не подойдёт, если БД изначально не существует. В таком случае потребуется сначала создать новую базу данных, а уже потом импортировать в неё таблицы из резервной копии.

Для начала необходимо авторизоваться в консоли MySQL:

mysql --user=Login --password=Password

*Вместо «Login» и «Password» вводятся действительные данные пользователя MySQL.

Далее нужно создать новую базу данных:

CREATE DATABASE new_database;

*Вместо «new_database» вводится собственное наименование базы данных.

На экране появится следующий вывод:

Output
Query OK, 1 row affected (0.00 sec)

Теперь нужно выбрать созданную базу, чтобы все последующие команды относились к ней:

use new_database

Остаётся импортировать таблицы из резервной копии:

source db_name.sql

*Вместо «db_name.sql» вводится путь до файла SQL (предварительно загружается на сервер).