Как импортировать и экспортировать базы данных в MySQL или MariaDB

Умение импортировать и экспортировать свои базы данных – это очень важный навык для каждого. Вы всегда сможете использовать дампы данных с целью резервного копирования или восстановления более старых копий базы данных в случае непредвиденных ситуаций либо сможете использовать их функционал для перехода на новый сервер или среду разработки.

Работа с дампами базы данных в MySQL и MariaDB не сопряжена с особыми сложностями. В этом небольшом руководстве мы расскажем вам, как экспортировать и импортировать базу данных из файла дампа в MySQL и MariaDB.

Подготовка

Для того чтобы выполнить импорт и/или экспорт базы данных в MySQL или MariaDB, вам потребуется:

  • Доступ к серверу Linux с запущенными MySQL или MariaDB;
  • Имя базы данных и соответствующие учетные данные пользователя для него.

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

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

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

mysqldump -u username -p database_name > data-dump.sql
  • username – это имя пользователя, с которым вы можете получать доступ к базе данных;
  • database_name – это имя базы данных, которую необходимо экспортировать;
  • data-dump.sql – это файл в текущей директории, в котором будут сохранены выходные данные;

После ввода команды вы не заметите каких-либо видимых изменений, однако, вы сможете изучить содержимое файла filename.sql, для того чтобы убедиться, что это настоящий и действительный файл дампа SQL, используя следующую команду:

head -n 5 data-dump.sql

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

SQL dump fragment
-- MySQL dump 10.13  Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost    Database: database_name
-- ------------------------------------------------------
-- Server version       5.7.16-0ubuntu0.16.04.1

В случае возникновения каких-либо ошибок в процессе экспорта mysqldump вместо этого выведет их непосредственно на экран.

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

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

Во-первых, вам необходимо войти в базу данных в качестве пользователя root (пользователя, владеющего всеми правами в системе) или другого пользователя, который наделен достаточными правами для создания новых баз данных.

mysql -u root -p

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

mysql> CREATE DATABASE new_database;

После создания базы данных вы увидите это сообщение, подтверждающее, что операция была успешно выполнена.

Output
Query OK, 1 row affected (0.00 sec)

Теперь выйдите из оболочки MySQL и нажмите CTRL+D. Вы можете импортировать файл дампа с обычной командной строки, используя следующую команду:

mysql -u username -p new_database < data-dump.sql
  • username – это имя пользователя, с которым вы можете получать доступ к базе данных;
  • newdatabase – это имя заново созданной базы данных;
  • data-dump.sql – это файл дампа данных, который необходимо импортировать, содержащийся в текущей директории.

Успешное выполнение команды не приведет к каким-либо видимым изменениям или сообщениям на экране. При возникновении каких-либо ошибок в процессе выполнения команды, mysql непосредственно выведет их на терминал. Вы можете убедиться, что база данных была успешно импортирована, снова войдя в оболочку MySQL под своим логином и изучив соответствующую базу данных. Это можно сделать, выбрав новую базу данных командой USE new_database и введя команду SHOW TABLES либо другую аналогичную команду для просмотра части данных.

Заключение

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