перенос базы

Экспорт данных

Консольная утилита mysqldump позволяет экспортировать данные в текстовый файл SQL, который можно легко переместить. Для этого вам понадобится имя БД, а также учётные данные пользователя, у которого есть как минимум право на чтение БД.


Чтобы экспортировать БД, используйте такую команду:


mysqldump -u username -p database_name > data-dump.sql


где:


username – имя пользователя БД;

database_name – имя БД, которую нужно экспортировать;

data-dump.sql – файл в текущем каталоге, в который будут экспортированы данные.

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


head -n 5 data-dump.sql


Файл дампа MySQL должен начинаться примерно так:


— 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;


На экране появится вывод, подтверждающий, что БД была создана:


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 и MariaDB с помощью дампа. Утилита mysqldump имеет множество дополнительных параметров, при помощи которых можно настраивать дампы; подробнее об этом – в официальной документации mysqldump.