Вступление
Возможность импортировать и экспортировать вашу базу данных является важным навыком. Вы можете использовать дампы данных для целей резервного копирования и восстановления, что позволяет восстанавливать более старые копии вашей базы данных в случае чрезвычайной ситуации. Вы также можете использовать их для переноса данных на новый сервер или в среду разработки.
Работа с дампами базы данных в MySQL и MariaDB довольно проста. Этот туториал покажет, как экспортировать базу данных, а также импортировать ее из файла дампа в MySQL и MariaDB.
Предпосылки
Для импорта и / или экспорта базы данных MySQL или MariaDB вам потребуется:
-
Доступ к серверу Linux под управлением MySQL или MariaDB
-
Имя базы данных и учетные данные пользователя для нее
Экспорт базы данных
Консольная утилитаmysqldump
используется для экспорта баз данных в текстовые файлы SQL, что упрощает их перенос и перемещение. Вам понадобится само имя базы данных, а также имя пользователя и пароль для учетной записи с привилегиями, обеспечивающими как минимум полный доступ только для чтения к базе данных.
Экспортируйте свою базу данных, используя следующую структуру команд:
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
:
CREATE DATABASE new_database;
Вы увидите этот вывод, подтверждающий, что он был создан.
OutputQuery 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
имеет несколько дополнительных настроек, которые можно использовать для изменения способа создания дампов, о которых вы можете узнать больше изofficial mysqldump documentation page.