Ricerca nel sito web

Come eseguire il backup (dump) e ripristinare il database MySQL


Questo articolo mostra il modo corretto di eseguire il dump e ripristinare il database MySQL utilizzando i comandi mysqldump e mysql.

Se utilizzi database MySQL o MariaDB, devi capire come eseguire il backup e ripristinare i dati. Inoltre, è necessario mantenere backup regolari del database, che ti aiuteranno a ripristinare i tuoi dati se qualsiasi errore di sistema danneggia l'applicazione o i dati.

MySQL e MariaDB includono strumenti da riga di comando che puoi utilizzare per eseguire il dump e ripristinare i database in modo rapido e semplice.

Ad esempio, lo strumento mysqldump viene utilizzato per esportare il contenuto di un database in un file di testo. Allo stesso tempo, l'app client mysql può essere utilizzata per importare dati da un file di testo in un database MySQL/MariaDB.

Come eseguire il backup (dump) del database MySQL

L'utilità della riga di comando mysqldump esporta i database in file di testo SQL. In altre parole, viene utilizzato per eseguire il dump del database MySQL.

La sintassi per il comando mysqldump è riportata di seguito:

mysqldump -u [username] -p [database_name] > [filename.sql]

Dove :

  • nome utente è il tuo nome utente MySQL/MariaDB.
  • -p richiede la password per questo utente.
  • nome_database è il nome del database di cui desideri eseguire il backup.
  • filename.sql è il percorso completo del file dump SQL contenente il backup.

È inoltre essenziale ricordare che le procedure, le funzioni, le visualizzazioni e gli eventi del database vengono scaricati al momento del backup.

Come eseguire il backup di un singolo database MySQL

Supponiamo di aver già creato un database chiamato my_wordpress. Naturalmente, nel comando seguente, sostituiscilo con il nome del database che desideri esportare.

Quindi, secondo la sintassi, mysqldump creerà il file di backup nella posizione corrente.

mysqldump -u root -p my_wordpress > my_wordpress_backup.sql

Dopo aver eseguito il comando, inserisci la password di root MySQL.

Questo crea un file dump MySQL denominato my_wordpress_backup.sql che contiene tutte le istruzioni SQL per creare tabelle e ripristinare i dati in un database esistente. Se si verificano errori durante il processo di esportazione, mysqldump li stamperà sullo schermo.

Il comando non produrrà alcun output visivo, ma puoi controllare il contenuto di my_wordpress_backup.sql utilizzando il comando head per verificare se si tratta di un file dump MySQL legittimo.

head -n 5 my_wordpress_backup.sql
-- MariaDB dump 10.19  Distrib 10.5.9-MariaDB, for Linux (x86_64)
-- Host: localhost    Database: my_wordpress
 
-- Server version    10.3.27-MariaDB-0+deb10u1

Come eseguire il backup di più database MySQL

Per eseguire il backup di più database MySQL con un comando devi utilizzare l'opzione --databases seguita dall'elenco dei database di cui desideri eseguire il backup. Inoltre, puoi inserire il file dei risultati in una posizione a tua scelta.

Esegui il comando seguente per creare un file dump MySQL my_backup.sql nella directory /home/backups di due database denominati my_wordpress e ftpusers .

mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql 

Come eseguire il backup di tutti i database MySQL contemporaneamente

Utilizza l'opzione --all-databases per eseguire il backup di tutti i database MySQL:

mysqldump -u root -p --all-databases > all_db_backup.sql

Come creare un backup del database MySQL compresso

Se la dimensione del database è enorme, è una buona idea comprimere l'output. Per farlo, collega l'output al comando gzip e reindirizzalo a un file come mostrato di seguito:

mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz

Ripristina il database MySQL da un file dump MySQL

Per ripristinare un backup creato con mysqldump, devi utilizzare il comando mysql.

mysql -u [username] -p [database_name] < [filename.sql]

Dove

  • nome utente è il tuo nome utente MySQL/MariaDB.
  • -p richiede la password per questo utente.
  • nome_database è il nome del database che desideri ripristinare.
  • nomefile.sql è il percorso completo del file dump SQL che contiene il backup.

Ripristina un singolo database MySQL

È possibile ripristinare tutte le tabelle dal file dump MySQL di qualsiasi database particolare.

Il ripristino viene eseguito con il comando seguente. Stiamo specificando nuovamente un utente a cui verrà richiesta una password e passando il file my_wordpress_backup.sql nel database my_wordpress.

mysql -u root -p my_wordpress < my_wordpress_backup.sql

Una volta completata questa operazione, il database dovrebbe essere disponibile nell'istanza in esecuzione di MySQL. Il file dump MySQL da cui hai importato esisterà ancora, quindi puoi archiviarlo in modo sicuro a questo punto o eliminarlo se non è più necessario.

Ripristina tutti i database MySQL

Puoi ripristinare tutti i database di qualsiasi server MySQL su un altro server MySQL dal file dump MySQL.

mysql -u root -p < all_db_backup.sql

Conclusione

Ora puoi mantenere un backup regolare dei file del database e ripristinare i dati quando richiesto seguendo i passaggi precedenti.

Questo tutorial si applica anche quando desideri migrare su un nuovo server. Esegui il backup del database sul tuo vecchio server e carica il file dump MySQL sul nuovo server.

Successivamente, crea un database di destinazione sul nuovo server, quindi esegui il file dump MySQL caricato nel nuovo database. Inoltre, dovresti anche ricreare utenti e autorizzazioni dal vecchio server MySQL a quello nuovo.

Per informazioni più dettagliate ecco il link alla documentazione ufficiale. Se hai domande o feedback, sentiti libero di lasciare un commento.

Articoli correlati: