Mysql
 sql >> Database >  >> RDS >> Mysql

Come trasferire tutti i database MySQL dal vecchio al nuovo server

Trasferimento o migrazione di un MySQL/MariaDB database tra server di solito richiede 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 MySQL/MariaDB database dal vecchio server Linux a un nuovo server, importalo correttamente e conferma che i dati sono lì.

Note importanti

  • Assicurati di avere la stessa versione di MySQL installata su entrambi i server con la stessa distribuzione.
  • Assicurati 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 i data directory del database su un altro server. Non pasticciare mai con la struttura interna del database, se lo fai, in futuro dovrai affrontare problemi.

Esportare un database MySQL in un file di dump

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

# systemctl stop mariadb
OR
# systemctl stop mysql

Quindi scarica tutto il tuo MySQL database 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 desideri eseguire il dump di un singolo database, puoi utilizzare:

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

Trasferisci il file di dump dei database MySQL su un nuovo server

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

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

Una volta effettuata la connessione, il database verrà trasferito al nuovo server.

Importa il file di dump dei database MySQL su un nuovo server

Una volta che il file di dump di MySQL è stato trasferito al nuovo server, puoi utilizzare il comando seguente 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 di mysql.

# mysql -u user -p
# show databases;

Trasferisci i database MySQL e gli utenti su un nuovo server

Se vuoi spostare tutti i tuoi database MySQL, utenti, permessi e struttura dati dal vecchio server al nuovo, puoi usare il comando rsync per copiare tutto il contenuto dalla directory dei dati mysql/mariadb al nuovo server come mostrato.

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

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

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

È tutto! In questo articolo, hai imparato come migrare facilmente tutti i database MySQL/MariaDB da un server all'altro. Come trovi questo metodo rispetto ad altri metodi? Vorremmo avere tue notizie tramite il modulo di commento qui sotto per raggiungerci.