Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

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

4117
8 минут чтения
Средний рейтинг статьи: 2.7

Управление базами данных — важная часть в администрировании Linux-серверов и веб-приложений. Импорт и экспорт баз данных являются незыблемыми столпами в DevOps и системном администрировании.

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

Для того чтобы выполнить дальнейшие шаги, вам будет нужен Linux-сервер (в инструкции все действия выполняются на Ubuntu). Арендовать виртуальный сервер вы можете у нас по этой ссылке.

Работа с базой данных

MySQL и MariaDB — это популярные реляционные СУБД, которые используются для хранения данных больших приложений.

MariaDB — это форк MySQL, который был разработан первоначальной командой разработчиков из-за проблем с лицензированием, связанных с покупкой MySQL корпорацией Oracle. Но и MariaDB, и MySQL используют идентичные или похожие API и схемы работы.

Процесс создания базы данных:

  1. Подключитесь к MySQL или MariaDB с root-правами (на чтение и запись):

    • Для MySQL:

    • Для MariaDB: 

  1. Используйте SQL-запрос для создания базы данных, если она не существует:

    

Основные приемы управления SQL-данными остаются неизменными как в MySQL, так и MariaDB.

Если вы хотите посмотреть, какие базы созданы:

    

Для переключения на нужную базу данных выполните:

    

После вы можете просмотреть существующие таблицы через:

    

Некоторые полезные команды вы можете увидеть ниже:

— создает таблицу users с полями user_id и username.

— вставляет в таблицу users новую колонку.

— выборка всех записей из таблицы users.

Статус и статистику работы MySQL или MariaDB возможно узнать через:

    

DBaaS

Запустите свою базу данных в облаке и
оптимизируйте процессы DevOps и CI/CD.

Экспорт

Экспорт данных MySQL и MariaDB можно осуществить при помощи CLI-утилиты (command-line interface, утилита командной строки) mysqldump или через сторонние инструменты (например phpMyAdmin, который мы рассмотрим позднее). Данная утилита позволяет сохранять вашу базу данных в виде SQL-дампа. В нем находятся все нужные команды для создания столбцов и их заполнения. А также им можно легко управлять: импортировать или переместить.

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

Введите в ваш терминал следующий текст:

    

Где:

  • -p<пароль> — пароль от пользователя (для ввода в ручном виде); либо можно использовать просто -p (автоматически запросит пароль);

  • db_dump.SQL — файл дампа базы данных;

  • <наименование пользователя> — наименование привилегированного пользователя (с правами на чтение);

  • <наименование базы данных> — наименование базы данных.

Кроме создания дампов локально на самом сервере, вы можете создавать их удаленно, добавив в команду флаг -h:

    

Флаг -h используется для указания адреса удаленного сервера MySQL, с которого вы хотите создать дамп базы данных. Также можно использовать флаг -P для указания порта сервера.

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

В файле с форматом .sql можно видеть краткую характеристику дампа: СУБД, команды, информация о базе данных. Помимо SQL, поддерживаются CSV, XML и другие. Можно задать выбор конкретных таблиц.

В дампе будет указана ваша используемая СУБД (MySQL или MariaDB) и другая информация, а также самое главное — синтаксис для создания нужных колонок и их заполнения.

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

Для импорта дампа базы данных в MySQL уже не надо использовать mysqldump, можно обойтись прямым обращением к mysql.

Для этого введите команду ниже:

    

Где:

  • -p<пароль> — пароль пользователя; также можно использовать просто -p (будет запрошен пароль автоматически);

  • db_dump.SQL — файл дампа базы данных;

  • <наименование пользователя> — наименование привилегированного пользователя (права на запись);

  • <наименование новой базы данных> — наименование новой базы данных, в которую мы импортируем дамп.

При правильном совершении действий вы ничего не увидите. В ином же случае СУБД сообщит вам об ошибках или предупреждениях. Проверить корректность можно, введя следующие MySQL-команды:

    

systemd-служба для бэкапа

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

Timer — это механизм для планирования выполнения конкретной службы в заданное время или через определенные интервалы.

Для этого подключитесь к серверу и выполните следующие команды:

    

После создайте и откройте файл /usr/bin/backup_scripts/mysql_backup.sh через любой редактор (например, nano) и запишите в нем следующее:

    

Укажите в нем директорию для бэкапа, наименование пользователя и пароль, и также название базы данных.

Далее выдадим этому скрипту права на исполнение:

    

Следующим шагом будет создание службы и таймера systemd:

  1. Создайте файл службы (/etc/systemd/system/mysql-backup.service):

    
  1. Создайте файл таймера (/etc/systemd/system/mysql-backup.timer):

    
  1. Активируйте службу и таймер:
    
  1. Проверьте статус службы:
    

Готово! Теперь каждую неделю будет создаваться дамп нужной вам базы данных.

Экспорт и импорт через phpMyAdmin

Совершать импорт и экспорт можно не только через консольные утилиты, но и через веб-интерфейс самого phpMyAdmin. Чаще всего этот способ удобнее, если размер дампа небольшой (не более 1 гигабайта).

В этой секции будет рассматриваться базовый импорт и экспорт базы данных.

Экспорт

Для процесса экспорта перейдите в нужную базу данных и нажмите на вкладку «Экспорт», а после выберите нужный вам метод экспорта: быстрый или расширенный (он подойдет, если в вашем случае процесс экспорта специфичен и требует настройки).

Image2

При экспортировании данных в быстром режиме:

  1. Выберите нужную базу из левой панели.

  2. Перейдите к разделу «Экспорт» через меню PMA.

  3. Инициируйте процесс сохранения дампа на локальный ПК с помощью кнопки «Экспорт».

Для экспорта конкретных таблиц:

  1. Найдите нужную вам базу данных в левой области, открыв список ее таблиц.

  2. Отметьте необходимые для выгрузки таблицы галочками.

  3. В нижней части экрана из списка действий с отмеченными элементами выберите «Экспорт».

  4. На следующем шаге убедитесь в правильном формате и нажмите «Вперед» для сохранения дампа.

Импорт

Импорт базы данных аналогичен экспорту. Войдите в phpMyAdmin и перейдите в интересующую вас базу данных, а после перейдите на вкладку «Импорт»:

Image1

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

  1. Для выбора нужной базы в левом меню следует раскрыть список доступных таблиц.

  2. В интерфейсе phpMyAdmin перейдите на вкладку «Импорт».

  3. Загрузите файл дампа для импорта, выбрав его через кнопку «Выбрать файл» и загрузив с вашего устройства.

  4. Установите параметры: определите кодировку, формат файла (можно использовать стандартные настройки).

  5. Подтвердите процесс импортом путем нажатия соответствующей кнопки.

В левой колонке вы увидите находящийся файлы и их содержимое, а также имеете возможность изменить их.

Разверните базу данных в облаке за пару минут

Cloud DB 1/1/8

447 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
Диск NVMe
8 ГБ
Приватный IP
Есть
Резервные копии
Есть
Cloud DB 1/2/20

711 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
Диск NVMe
20 ГБ
Приватный IP
Есть
Резервные копии
Есть
Таблица тарифов
Сравнение тарифов
Cloud DB 1/1/8
496
Cloud DB 1/2/20
790
Cloud DB 2/2/30
1160
Cloud DB 2/4/40
1580
Cloud DB 4/8/80
3160
Cloud DB 4/12/120
4240
Cloud DB 6/12/180
5460
Cloud DB 8/16/220
7040
Процессор1 x 3.3 ГГц1 x 3.3 ГГц2 x 3.3 ГГц2 x 3.3 ГГц4 x 3.3 ГГц4 x 3.3 ГГц6 x 3.3 ГГц8 x 3.3 ГГц
Память1 ГБ2 ГБ2 ГБ4 ГБ8 ГБ12 ГБ12 ГБ16 ГБ
Диск NVMe8 ГБ20 ГБ30 ГБ40 ГБ80 ГБ120 ГБ180 ГБ220 ГБ
Приватный IPЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Резервные копииЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть

Заключение

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

4117
8 минут чтения
Средний рейтинг статьи: 2.7
Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server