MySQL: Come eseguire il backup (Dump) e ripristinare il database Utilizzando mysqldump

Questo articolo mostra il modo corretto per scaricare e ripristinare il database MySQL dalla riga di comando in Linux utilizzando mysqldump e mysql comandi.

Se si utilizzano database MySQL o MariaDB, è molto importante capire come eseguire il backup e il ripristino dei dati. Inoltre, è necessario mantenere backup regolari del database e questo vi aiuterà a ripristinare i dati se l’applicazione si blocca o i dati sono danneggiati da un errore di sistema.

MySQL e MariaDB includono strumenti da riga di comando che è possibile utilizzare per scaricare e ripristinare rapidamente e facilmente i database. Lo strumento mysqldump viene utilizzato per esportare il contenuto di un database in un file di testo, mentre il client mysql può essere utilizzato per importare dati da un file di testo in un database MySQL/MariaDB.

Come utilizzare il comando MySQL Dump

L’utilità della riga di comando mysqldump esporta i database in file di testo SQL. In altre parole, è usato per prendere il dump del database MySQL.

La sintassi per il comando mysqldump è riportata di seguito:

mysqldump -u -p > .sql

Dove:

  • username è il tuo nome utente MySQL/MariaDB.
  • -p richiesta di password per questo utente.
  • database_name è il nome del database che si desidera eseguire il backup.
  • nome file.sql è il percorso completo del file di dump sql che conterrà il backup.

Le procedure, le funzioni, le viste e gli eventi del database vengono scaricati al momento del backup.

mysqldump: eseguire il backup di un singolo database MySQL

In questo esempio, il database è denominato my_wordpress. Sostituire questo con il nome del database che si desidera esportare. In base alla sintassi, il file di backup verrà creato nella posizione corrente.

mysqldump -u root -p my_wordpress > my_wordpress_backup.sql

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

Questo crea un file di 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 ispezionare il contenuto di my_wordpress_backup.sql usando il comando head per verificare se si tratta di un file di 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

mysqldump: Backup di più database MySQL

Per eseguire il backup di più database MySQL con un comando è necessario utilizzare l’opzione --databases seguita dall’elenco dei database che si desidera eseguire il backup. Inoltre, puoi inserire il file dei risultati in una posizione a tua scelta.

Eseguire il seguente comando per creare un file di 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 

mysqldump: eseguire il backup di tutti i database MySQL

Utilizzare 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 compresso del database MySQL

Se la dimensione del database è molto grande è una buona idea comprimere l’output. Per farlo semplicemente pipe 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

mysql: Ripristina MySQL da un file di dump MySQL

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

mysql -u -p < .sql

Dove

  • username è il tuo nome utente MySQL/MariaDB.
  • -p richiesta di password per questo utente.
  • database_name è il nome del database in cui si desidera ripristinare.
  • nome file.sql è il percorso completo del file di dump sql che contiene il backup.

mysql: Ripristina singolo database MySQL

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

Il ripristino viene eseguito semplicemente con il comando sottostante, in cui viene nuovamente specificato un utente e viene richiesta una password e viene passato il file my_wordpress_backup.sql nel database my_wordpress.

mysql -u root -p my_wordpress < my_wordpress_backup.sql

Ti verrà richiesta la password del tuo utente MySQL.

Una volta completato il database dovrebbe essere disponibile nell’istanza in esecuzione di MySQL. Anche il file di dump MySQL da cui è stato importato continuerà ad esistere, quindi è possibile memorizzarlo in modo sicuro a questo punto o eliminarlo se non è più necessario.

mysql: Ripristina tutti i database MySQL

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

mysql -u root -p < all_db_backup.sql

Conclusione

Ora è possibile mantenere il backup regolare dei file di database e ripristinare i dati quando richiedono seguendo i passaggi precedenti.

Questo tutorial si applica anche quando si desidera eseguire la migrazione a un nuovo server. È sufficiente eseguire il backup del database sul vecchio server e caricare il file di dump MySQL sul nuovo server. Creare un database di destinazione sul nuovo server, quindi eseguire il file di 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.

Leave a Reply