img-bg
Как импортировать и экспортировать базы данных в MySQL или MariaDB
VPS/VDS

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

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

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

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

Экспортируйте свою базу данных, используя следующую команду:
mysqldump -u username -p database_name > data-dump.sql
  • username - это имя пользователя базы данных;
  • database_name - это имя базы данных, которая будет экспортирована;
  • data-dump.sql - это файл в текущем каталоге, в который будут сохранены данные.
Эта команда не будет производить визуального вывода, но вы можете проверить содержимое файла data-dump.sql, чтобы проверить, корректно завершился дамп SQL, выполнив следующую команду:
head -n 5 data-dump.sql
Верхняя часть файла должна выглядеть примерно так, показывая, что это дамп MySQL для базы данных с именем database_name.
-- MySQL dump 10.17  Distrib 10.3.25-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost    Database: database_name
-- ------------------------------------------------------
-- Server version       10.3.25-MariaDB-0ubuntu0.20.04.1
Если в процессе экспорта возникнут какие-либо ошибки, mysqldump  выведет их на экран.

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

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

Во-первых, войдите в базу данных как root или другой пользователь с достаточными привилегиями для создания новых баз данных:
mysql -u root -p
Команда откроет команудную оболочку MySQL. Затем создайте новую базу данных с помощью следующей команды. В этом примере новая база данных называется new_database:
CREATE DATABASE new_database;
Вы увидите этот вывод, подтверждающий, что она был создана.
Query OK, 1 row affected (0.00 sec)
Затем выйдите из оболочки MySQL, нажав CTRL+D. Из обычной командной строки вы можете импортировать файл дампа с помощью следующей команды:
mysql -u username -p new_database < data-dump.sql 
  • username - это имя пользователя базы данных;
  • new_database -  это имя только что созданной базы данных;
  • data-dump. sql - это импортируемый файл дампа данных, расположенный в текущем каталоге.
Если команда выполняется успешно, она не будет производить никаких выходных данных. Если во время этого процесса возникнут какие-либо ошибки, mysql вместо этого выведет их на терминал. Вы можете проверить, что база данных была импортирована, снова войдя в оболочку MySQL и проверив данные. Это можно сделать, выбрав новую базу данных с помощью USE new_database, а затем используя SHOW TABLES; или аналогичную команду для просмотра некоторых данных.

Заключение

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