Поиск по сайту:

Как перенести все базы данных MySQL со старого на новый сервер


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

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

Важные заметки

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

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

Сначала войдите на свой старый сервер и остановите службу mysql/mariadb с помощью команды systemctl, как показано.

systemctl stop mariadb
OR
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 [email :~/       [All Databases]
scp database_name.sql [email :~/       [Singe Database]

После подключения база данных будет перенесена на новый сервер.

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

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

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

После завершения импорта вы можете проверить базы данных на обоих серверах, используя следующую команду в оболочке mysql.

mysql -u user -p
show databases;

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

Если вы хотите переместить все ваши базы данных MySQL, пользователей, разрешения и структуру данных со старого сервера на новый, вы можете использовать команду rsync, чтобы скопировать все содержимое из каталога данных mysql/mariadb на новый сервер, как показано.

rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/ 

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

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

Как перенести базу данных MySQL с помощью графического интерфейса

Современные инструменты баз данных позволяют пользователям упростить задачи миграции базы данных MySQL. Главным фактором является удобный графический интерфейс, который помогает им пройти каждый этап процесса миграции. Конфигурация задачи занимает несколько кликов – не нужно вручную вводить какие-либо команды для переноса базы данных MySQL в новое место назначения.

Обычно такие инструменты поддерживают различные методы переноса баз данных целиком или их частей. Это может быть резервное копирование и восстановление, копирование баз данных, импорт и экспорт данных и т. д.

Кроме того, инструмент миграции данных MySQL может быть автономным решением или частью гораздо более мощного набора инструментов, такого как dbForge Studio for MySQL, подходящего для решения всех остальных задач базы данных.

Вот и все! В этой статье вы узнали, как легко перенести все базы данных MySQL/MariaDB с одного сервера на другой. Как вы находите этот метод по сравнению с другими методами? Мы хотели бы услышать ваше мнение через форму комментариев ниже, чтобы связаться с нами.