Умение импортировать и экспортировать свои базы данных – это очень важный навык для каждого. Вы всегда сможете использовать дампы данных с целью резервного копирования или восстановления более старых копий базы данных в случае непредвиденных ситуаций либо сможете использовать их функционал для перехода на новый сервер или среду разработки.
Работа с дампами базы данных в 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.