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

Это руководство научит вас экспортировать и импортировать базы данных с помощью дампа MySQL или MariaDB.

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

Консольная утилита mysqldump позволяет экспортировать данные в текстовый файл SQL, который можно легко переместить. Для этого вам понадобится имя БД, а также учётные данные пользователя, у которого есть как минимум право на чтение БД.

Чтобы экспортировать БД, используйте такую команду:

mysqldump -u username -p mydatabase > data-dump.sql

где:

  • username – имя пользователя БД;
  • mydatabase – имя БД, которую нужно экспортировать;
  • data-dump.sql – файл в текущем каталоге, в который будут экспортированы данные.

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

Импорт данных

Чтобы импортировать дамп, нужно создать новую БД MySQL или MariaDB, в которую будут перемещены данные из дампа.

Войдите как root или другой пользователь с расширенными привилегиями.

mysql -u root -p

Эта команда откроет командную оболочку MySQL. Создайте новую БД, например, mydatabase.

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;

На экране появится вывод, подтверждающий, что БД была создана:

Query OK, 1 row affected (0.00 sec)

Закройте оболочку MySQL (CTRL+D). С помощью обычной командной строки импортируйте дамп:

mysql -u username -p mydatabase < data-dump.sql --default-character-set=utf8

где:

  • username – имя пользователя, у которого есть доступ к БД;
  • mydatabase – имя новой БД;
  • data-dump.sql – имя дампа, который нужно импортировать.

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

USE mydatabase;
SHOW TABLES;