Как импортировать и экспортировать базы данных в MySQL или MariaDB
Автор выбрал программу Write for DOnations.
Введение
Импорт и экспорт баз данных — обычная задача при разработке программного обеспечения. Вы можете использовать дампы данных для резервного копирования и восстановления информации. Вы также можете использовать их для переноса данных на новый сервер или в среду разработки.
В этом руководстве вы будете работать с дампами базы данных в MariaDB (команды взаимозаменяемы). В частности, вы экспортируете базу данных, а затем импортируете эту базу данных из файла дампа.
Предпосылки
Чтобы импортировать или экспортировать базу данных MySQL или MariaDB, вам потребуется:
- Виртуальная машина с пользователем sudo без полномочий root. Если вам нужен сервер, заполните этот список и следуйте нашему Руководству по начальной настройке сервера.
- Установлены MySQL или MariaDB. Чтобы установить MySQL, следуйте нашему руководству How To Install MariaDB.
- Образец базы данных, созданный на вашем сервере баз данных. Чтобы создать ее, следуйте \Создание образца базы данных в нашем руководстве \Введение в запросы в MySQL.
Примечание. В качестве альтернативы ручной установке вы можете изучить приложение MySQL One-Click от DigitalOcean Marketplace.
Шаг 1 — Экспорт базы данных MySQL или MariaDB
Консольная утилита mysqldump
экспортирует базы данных в текстовые файлы SQL. Это упрощает передачу и перемещение баз данных. Вам потребуется имя вашей базы данных и учетные данные для учетной записи, чьи привилегии разрешают, по крайней мере, полный доступ только для чтения к базе данных.
Используйте mysqldump
для экспорта базы данных:
- 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
.
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
выведет их на экран.
Шаг 2 — Импорт базы данных MySQL или MariaDB
Чтобы импортировать существующий файл дампа в MySQL или MariaDB, вам придется создать новую базу данных. Эта база данных будет содержать импортированные данные.
Во-первых, войдите в MySQL как 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 или MariaDB. Затем вы импортировали этот дамп данных в новую базу данных. mysqldump
имеет дополнительные параметры, которые можно использовать для изменения способа создания системой дампов данных. Вы можете узнать больше на официальной странице документации mysqldump.
Чтобы узнать больше о MySQL, посетите нашу страницу ресурсов MySQL.
Чтобы узнать больше о запросах MySQL, ознакомьтесь с нашим руководством «Введение в запросы в MySQL».