Найти тему
Aeza

Простой перенос БД MySQL с одной на другую машину

Оглавление

Подготовка

Для начала, необходимо убедиться, что на обоих машинах установлены одинаковые версии MySQL/MariaDB:

mysql -V

Назовем сервер, с которого необходимо перенести БД: сервер1, а сервер на который необходимо перенести: сервер2

На сервере1 введем команду для остановки службы БД:

systemctl stop mariadb
# или
systemctl stop mysql

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

На сервере1 выполним экспорт БД с помощью команды mysqldump.

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

mysqldump -u [USER] -p --all-databases > all_db.sql

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

mysqldump -u [USER] -p --opt [DATABASE_NAME] > my_db.sql

Далее любым удобным вам способом копируем файлы БД на сервер2.

Импорт БД из файла дампа

Для импорта всех баз данных введем:

mysql -u [USER] --all-databases < all_db.sql

Для импорта одной БД:

mysql -u [USER] -p new_db_name < my_db.sql

Полный перенос баз данных и пользователей на другой сервер

Для полного переноса можно воспользоваться утилитой rsync, для этого введем команду:

rsync -avz /var/lib/mysql/* root@server2.aeza.network:/var/lib/mysql/

Проверка результата

Для проверки переноса БД введем команду:

mysql -u [USER] -p
> show databases;