Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да прехвърлите всички MySQL бази данни от стар към нов сървър

Прехвърляне или мигриране на 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 бази данни от един сървър на друг. Как намирате този метод в сравнение с други методи? Бихме искали да чуем от вас чрез формуляра за коментари по-долу, за да се свържете с нас.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Максимален брой записи в таблица на база данни на MySQL

  2. Как да запазите подписа в MySQL

  3. MySQL UPDATE и SELECT с един проход

  4. Какво означава, когато MySQL е в състояние Изпращане на данни?

  5. Как да създадете фиктивни колони с променлива за хиляди категории в Google BigQuery?