Com transferir totes les bases de dades MySQL del servidor antic al nou


La transferència o la migració d'una base de dades MySQL/MariaDB entre servidors sol portar uns quants passos senzills, però la transferència de dades pot trigar una mica depenent del volum de dades que vulgueu transferir.

En aquest article, aprendràs a transferir o migrar totes les teves bases de dades MySQL/MariaDB des del servidor Linux antic a un nou servidor, importar-lo amb èxit i confirmar que les dades hi són.

  • Assegureu-vos de tenir la mateixa versió de MySQL instal·lada als dos servidors amb la mateixa distribució.
  • Assegureu-vos de tenir prou espai lliure tant al servidor per contenir el fitxer d'abocament de la base de dades com la base de dades importada.
  • No us plantegeu moure el directori data de la base de dades a un altre servidor. No et fiquis mai amb l'estructura interna de la base de dades, si ho fas, t'enfrontareu a problemes en el futur.

Exporteu una base de dades MySQL a un fitxer d'abocament

Primer comenceu iniciant sessió al vostre servidor antic i atureu el servei mysql/mariadb mitjançant l'ordre systemctl tal com es mostra.

# systemctl stop mariadb
OR
# systemctl stop mysql

A continuació, aboqueu totes les vostres bases de dades MySQL a un sol fitxer mitjançant l'ordre mysqldump.

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

Un cop finalitzat l'abocament, ja esteu preparat per transferir les bases de dades.

Si voleu bolcar una sola base de dades, podeu utilitzar:

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

Transfereix el fitxer de bolcat de bases de dades MySQL al nou servidor

Ara utilitzeu l'ordre scp per transferir el fitxer de bolcat de bases de dades al nou servidor al directori d'inici, tal com es mostra.

# scp all_databases.sql [email :~/       [All Databases]
# scp database_name.sql [email :~/       [Singe Database]

Un cop connectat, la base de dades es transferirà al nou servidor.

Importeu el fitxer de bolcat de bases de dades MySQL al nou servidor

Una vegada que el fitxer d'abocament de MySQL s'hagi transferit al nou servidor, podeu utilitzar l'ordre següent per importar totes les vostres bases de dades a MySQL.

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

Un cop finalitzada la importació, podeu verificar les bases de dades dels dos servidors mitjançant l'ordre següent al shell mysql.

# mysql -u user -p
# show databases;

Transfereix bases de dades MySQL i usuaris al nou servidor

Si voleu moure totes les vostres bases de dades MySQL, usuaris, permisos i estructura de dades del servidor antic al nou, podeu utilitzar l'ordre rsync per copiar tot el contingut del directori de dades mysql/mariadb al nou servidor, tal com es mostra.

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

Un cop finalitzada la transferència, podeu establir la propietat del directori de dades mysql/mariadb com a usuari i grup mysql i, a continuació, fer una llista de directoris per comprovar que tots els fitxers s'han transferit.

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

Això és tot! En aquest article, heu après com migrar fàcilment totes les bases de dades MySQL/MariaDB d'un servidor a un altre. Com trobes aquest mètode en comparació amb altres mètodes? Ens agradaria rebre notícies vostres a través del formulari de comentaris a continuació per contactar amb nosaltres.