zaLinux.ru

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


Введение

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

Кстати, дамп – это от английского dump, что буквально переводится как «сбрасывать», «сваливать» и может означать результат этого действия – куча. Дамп в компьютерной терминологии означает данные/база данных целиком, которую «сбросили», например, на диск.

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

Необходимые условия

Для импорта и/или экспорта базы данных MySQL или MariaDB вам понадобится:

  • Доступ к серверу Linux, на котором запущена MySQL или MariaDB
  • Access to the Linux server running MySQL or 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:

-- MySQL dump 10.16  Distrib 10.1.20-MariaDB, for Linux (x86_64)
--
-- Host: localhost    Database: localhost
-- ------------------------------------------------------
-- Server version	10.1.20-MariaDB

Если во время процесса экспорта произошли какие-либо ошибки, они будут выведены на экран.

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

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

Начните со входа в базу данных как root или другой пользователь с достаточными привилегиями для создания новой базы данных.

mysql -u root -p

Это даст вам приглашение оболочке MySQL. Далее создайте новую базу данных с названием new_database.

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;

и затем сделайте SQL запрос:

SHOW TABLES;

или похожей командой для просмотра данных.

Как сделать резервную копию нескольких баз данных MySQL?

Если вы хотите сделать резервную копию нескольких баз данных, запустите следующую команду. Следующий пример сделает резервную копию структуры и данных баз данных rsyslog, syslog в один файл под названием rsyslog_syslog.sql.

mysqldump -u root -p --databases rsyslog syslog > rsyslog_syslog.sql

Как сделать резервную копию всех баз данных?

Если вы хотите сделать резервную копию всех баз данных, тогда используйте следующую команду с опцией --all-database. Следующая команда сделает резервную копию всех баз данных, их структуры и информации, в файл под названием all-databases.sql.

mysqldump -u root -p --all-databases > all-databases.sql

Как сделать резервную копию только структуры базы данных MySQL?

Если вы хотите сделать резервную копию структуры базы данных без информации, тогда используйте в команде опцию --no-data. Следующая команда экспортирует структуру базы данных rsyslog в файл rsyslog_structure.sql.


mysqldump -u root -p --no-data rsyslog > rsyslog_structure.sql

Как сделать резервную копию только информации из базы данных MySQL?

Для создания бэкапа только информации из базы данных без структуры, используйте с командой опцию --no-create-info. Эта команда возьмёт данные из базы данных rsyslog и скопирует их в файл rsyslog_data.sql.

mysqldump -u root -p --no-create-db --no-create-info rsyslog > rsyslog_data.sql

Как сделать резервную копию одной таблицы из базы данных?

Следующей командой вы можете сделать резервную копию одной таблицы или определённых таблиц из вашей базы данных. Например, следующая команда только сделает бэкап таблицы wp_posts из базы данных wordpress.

mysqldump -u root -p wordpress wp_posts > wordpress_posts.sql

Как сделать бэкап нескольких таблиц?

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

mysqldump -u root -p wordpress wp_posts wp_comments > wordpress_posts_comments.sql

Как сделать резервную копию удалённой базы данных MySQL?

Следующая команда сделает на локальный сервер резервную копию с удалённого сервера 185.117.153.79 базы данных gallery.

mysqldump -h 185.117.153.79 -u root -p gallery > gallery.sql

Похожим образом вы можете восстановить отдельные таблицы, структуру и информацию базы данных.

Заключение

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


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *