Questo articolo mostra il modo corretto come eseguire il dump e ripristinare il database MySQL dalla riga di comando in Linux utilizzando i comandi mysqldump e mysql.
Se stai utilizzando database MySQL o MariaDB, è molto importante per te capire come eseguire il backup e ripristinare i dati. Inoltre, devi mantenere backup regolari del database e questo ti aiuterà a ripristinare i tuoi dati se l'applicazione si arresta in modo anomalo o se i dati vengono danneggiati da un errore di sistema.
MySQL e MariaDB includono strumenti a riga di comando che puoi utilizzare per eseguire il dump e il ripristino dei database in modo rapido e semplice. Il mysqldump
lo strumento viene utilizzato per esportare il contenuto di un database in un file di testo, mentre il mysql
client può essere utilizzato per importare dati da un file di testo in un database MySQL/MariaDB.
Come utilizzare il comando MySQL Dump
Il mysqldump
l'utilità della riga di comando esporta i database in file di testo SQL. In altre parole, viene utilizzato per eseguire il dump del database MySQL.
La sintassi per mysqldump
comando è dato di seguito:
mysqldump -u [username] -p [database_name] > [filename].sql
Dove:
- nome utente è il tuo nome utente MySQL/MariaDB.
- -p richiedere la password per questo utente.
- nome_database è il nome del database di cui desideri eseguire il backup.
- nomefile.sql è il percorso completo del file di dump sql che conterrà il backup.
Procedure, funzioni, viste ed eventi del database vengono scaricati al momento del backup.
mysqldump:backup di un singolo database MySQL
In questo esempio, il database è denominato my_wordpress
. Sostituiscilo con il nome del database che desideri 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 chiamato 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
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 il --databases
opzione seguita dall'elenco dei database di cui si desidera eseguire il backup. Inoltre, puoi inserire il file dei risultati in una posizione a tua scelta.
Esegui il comando seguente per creare un file di dump MySQL my_backup.sql
in /home/backups
directory di due database denominati my_wordpress
e ftpusers
.
mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql
mysqldump:backup di tutti i database MySQL
Usa il --all-databases
opzione per eseguire il backup di tutti i database MySQL:
mysqldump -u root -p --all-databases > all_db_backup.sql
Come creare un backup di database MySQL compresso
Se la dimensione del database è molto grande, è una buona idea comprimere l'output. Per farlo, invia semplicemente l'output a gzip
comando e reindirizzarlo a un file come mostrato di seguito:
mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz
mysql:ripristinare MySQL da un file di dump MySQL
Per ripristinare un backup creato con mysqldump
, dovrai utilizzare mysql
comando.
mysql -u [username] -p [database_name] < [filename].sql
Dove
- nome utente è il tuo nome utente MySQL/MariaDB.
- -p richiedere la password per questo utente.
- nome_database è il nome del database in cui vuoi ripristinare.
- nomefile.sql è il percorso completo del file di dump sql che contiene il backup.
mysql:ripristino di un singolo database MySQL
Puoi ripristinare tutte le tabelle dal file di dump MySQL di qualsiasi database particolare.
Il ripristino viene semplicemente eseguito con il comando seguente, dove stiamo nuovamente specificando un utente e deve essere richiesta una password e passando il my_wordpress_backup.sql
file 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 hai importato esisterà ancora, quindi puoi archiviarlo in modo sicuro a questo punto o eliminarlo se non è più necessario.
mysql:ripristina tutti i database MySQL
Puoi 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 puoi mantenere un backup regolare dei file di database e ripristinare i dati quando richiesto seguendo i passaggi precedenti.
Questo tutorial si applica anche quando desideri migrare su un nuovo server. È sufficiente eseguire il backup del database sul vecchio server e caricare il file di dump MySQL sul nuovo server. Crea un database di destinazione sul nuovo server, quindi esegui 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.
Se hai domande o feedback, sentiti libero di lasciare un commento.