Ricerca nel sito web

Come trasferire tutti i database MySQL dal vecchio al nuovo server


Il trasferimento o la migrazione di un database MySQL/MariaDB tra server richiede solitamente solo pochi semplici passaggi, ma il trasferimento dei dati può richiedere del tempo a seconda del volume di dati che desideri trasferire.

In questo articolo imparerai come trasferire o migrare tutti i tuoi database MySQL/MariaDB da un vecchio server Linux a un nuovo server, importarli correttamente e verificare che i dati siano presenti.

Note importanti

  • Assicurati di avere la stessa versione di MySQL installata su entrambi i server con la stessa distribuzione.
  • Assicurarsi di avere spazio libero sufficiente su entrambi i server per contenere il file di dump del database e il database importato.
  • Non considerare mai di spostare la directory data del database su un altro server. Non scherzare mai con la struttura interna del database, se lo fai, dovrai affrontare problemi in futuro.

Esporta un database MySQL in un file di dump

Per prima cosa, accedi al tuo vecchio server e arresta il servizio mysql/mariadb utilizzando il comando systemctl come mostrato.

systemctl stop mariadb
OR
systemctl stop mysql

Quindi copia tutti i tuoi database MySQL in un unico file utilizzando il comando mysqldump.

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

Una volta completato il dump, sei pronto per trasferire i database.

Se vuoi scaricare un singolo database, puoi usare:

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

Trasferisci il file di dump dei database MySQL sul nuovo server

Ora usa il comando scp per trasferire il file dump del database sul nuovo server nella directory home come mostrato.

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

Una volta connesso, il database verrà trasferito sul nuovo server.

Importa il file di dump dei database MySQL sul nuovo server

Una volta che il file dump MySQL è stato trasferito sul nuovo server, puoi utilizzare il seguente comando per importare tutti i tuoi database in MySQL.

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

Una volta completata l'importazione, puoi verificare i database su entrambi i server utilizzando il seguente comando sulla shell mysql.

mysql -u user -p
show databases;

Trasferisci database e utenti MySQL sul nuovo server

Se desideri spostare tutti i database MySQL, gli utenti, i permessi e la struttura dati del vecchio server su quello nuovo, puoi utilizzare il comando rsync per copiare tutto il contenuto dalla directory dei dati mysql/mariadb sul nuovo server come mostrato.

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

Una volta completato il trasferimento, puoi impostare la proprietà della directory dei dati mysql/mariadb sull'utente e sul gruppo mysql, quindi eseguire un elenco delle directory per verificare che tutti i file siano stati trasferiti.

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

Come migrare il database MySQL utilizzando la GUI

I moderni strumenti di database consentono agli utenti di semplificare le attività di migrazione del database MySQL. Il fattore principale è un'interfaccia grafica intuitiva che li guida attraverso ogni fase del processo di migrazione. La configurazione dell'attività richiede pochi clic: non è necessario digitare manualmente alcun comando per trasferire il database MySQL in una nuova destinazione.

In genere, tali strumenti supportano vari metodi per trasferire interi database o loro parti. Potrebbe trattarsi di backup e ripristino, copia di database, importazione ed esportazione di dati, ecc.

Inoltre, uno strumento di migrazione dei dati MySQL può essere una soluzione autonoma o una parte di un set di strumenti molto più potente come dbForge Studio for MySQL, adatto a coprire tutte le altre attività del database.

È tutto! In questo articolo hai imparato come migrare facilmente tutti i database MySQL/MariaDB da un server a un altro. Come trovi questo metodo rispetto ad altri metodi? Ci piacerebbe sentire la tua opinione tramite il modulo di commento qui sotto per raggiungerci.