Прехвърляне или мигриране на MySQL/MariaDB базата данни между сървърите обикновено отнема само няколко лесни стъпки, но трансферът на данни може да отнеме известно време в зависимост от обема данни, който искате да прехвърлите.
В тази статия ще научите как да прехвърлите или мигрирате всичките си MySQL/MariaDB бази данни от стар Linux сървър на нов сървър, импортирайте го успешно и потвърдете, че данните са там.
Важни бележки
- Уверете се, че имате една и съща версия на MySQL, инсталирана и на двата сървъра със същата дистрибуция.
- Уверете се, че имате достатъчно свободно място и на двата сървъра, за да съхранявате файла с дъмп на базата данни и импортираната база данни.
- Никога не обмисляйте преместването на
data
директория на базата данни към друг сървър. Никога не се забърквайте с вътрешната структура на базата данни, ако го направите, ще се сблъскате с проблеми в бъдеще.
Експортиране на MySQL бази данни в Dump файл
Първо започнете, като влезете в стария си сървър и спрете услугата 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 protected]:~/ [All Databases] # scp database_name.sql [email protected]:~/ [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 protected]:/var/lib/mysql/
След като прехвърлянето приключи, можете да зададете собствеността върху директорията с данни mysql/mariadb на потребител и група mysql, след което да направите списък с директории, за да проверите дали всички файлове са прехвърлени.
# chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/
Това е всичко! В тази статия научихте как лесно да мигрирате всички MySQL/MariaDB бази данни от един сървър на друг. Как намирате този метод в сравнение с други методи? Бихме искали да чуем от вас чрез формуляра за коментари по-долу, за да се свържете с нас.