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
  Всплески трафика могут стать как проблемой для вашей инфраструктуры хостинга, так и потрясающей возможностью для развития.  На
img
Подробное руководство, предназначенное для понимания и оптимизации различных типов соединений в SQL, которое повысит вашу произв
img
  Введение Цель резервного копирования и репликации – предотвратить критическую потерю данных в результате непредвиденных событи
img
  Вы можете более эффективно запускать и компилировать свои программы с помощью этого удобного средства автоматизации. Есл
img
Дотфайлы (dotfiles) – это немаловажные файлы, которые могут сыграть ключевую роль в вашей карьере разработчика программного обес
img
Linux Jargon Buster: что такое менеджер пакетов в Linux? Как это работает? То, что позволяет отличать дистрибутивы Linux друг от
Комментарии
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59