img

Перенос базы данных MySQL со старого на новый сервер

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

MySQL Migration

Подготовка

Первым делом нужно убедиться, что и на старом, и на новом сервере установлена одинаковая версия MySQL с одинаковым дистрибутивом. Для этого в командной строке выполните:

mysql -V

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


Экспортируем базу данных MySQL в файл дампа

Внимание! Не переносите каталог data на новый сервер и не меняйте внутреннюю структуру БД.

Сначала на старом сервере остановите службу mysql или mariadb, используя команду systemctl:

# systemctl stop mariadb
ИЛИ
# systemctl stop mysql

Затем сделайте дамп ваших баз MySQL с помощью команды mysqldump:

# mysqldump -u 
[user] -p --all-databases > all_databases.sql

Если база одна, то можно использовать команду:

# mysqldump -u root -p --opt [database name] > database_name.sql

Перенос дампа MySQL на новый сервер

Теперь используйте команду scp, чтобы перенести файл дампа на новый сервер. После подключения база будет перенесена на новый сервер.

# scp all_databases.sql user@merionet.ru:~/      	 [Все базы]
# scp database_name.sql user@merionet.ru:~/      	 [Одна база]

Импорт файла дампа MySQL на новый сервер

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

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

Проверка импорта

После завершения импорта вы можете проверить базы данных на обоих серверах:

# mysql -u user -p
# show databases;

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

Если нужно переместить все свои БД MySQL, пользователей, разрешения и структуру данных старого сервера на новый, то нужно использовать команду rsync. С ее помощью скопируется весь контент из каталога данных mysql или mariadb на новый сервер.

# rsync -avz /var/lib/mysql/* user@merionet.ru:/var/lib/mysql/

Как только передача завершится, вы можете установить владельца каталога данных mysql или mariadb для пользователя и группы mysql. Для того чтобы убедиться, что что все файлы были переданы можно выполнить просмотр каталога.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

Готово! Мы только что очень быстро и просто выполнили миграцию всех баз со старого сервера на новый.

Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Если вы пытаетесь создать свою домашнюю IT-лабораторию или отвечаете за какую-то небольшую IT-операцию, то, скорее всего, у вас
img
В наше время безопасность – это крайне важный компонент разработки программного обеспечения и приложения, а также управления сер
img
  Прошло уже много времени с тех пор, как появился первый веб-сервер. На сегодняшний день есть довольно много разных интересных
img
В эпоху, когда многие процессы автоматизированы, люди постоянно ищут способы, как эффективно выполнять задачи. А почему бы и нет
img
Введение В серверной стойке (серверном шкафу) хранится и размещается информационно-техническое оборудование, например, выделенны
img
  Всплески трафика могут стать как проблемой для вашей инфраструктуры хостинга, так и потрясающей возможностью для развития.  На
Комментарии
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59