Abbiamo visto come fare un backup di MySQL o MariaDB con mysqldump nell’articolo dedicato ed ottenere un backup pronto in un semplice file .sql che possiamo manipolare, o semplicemente mettere da parte come archivio.
Quando vogliamo importare questo backup, ripristinando le tabelle presenti, possiamo facilmente eseguire il comando mysql.
La sintassi del comando base, da usare nella shell, è:
mysql [opzioni] NOME_DATABASE < file.sql
Vediamo, un esempio utilizzando le credenziali di accesso al database:
mysql -u UTENTE_DATABASE -pPASSWORD_DATABASE NOME_DATABASE < backup.sql
In questo esempio stiamo importando il backup nel file backup.sql nel database NOME_DATABASE. Sarà necessario specificare l’utente UTENTE_DATABASE
che ha i permessi di accesso al NOME_DATABASE
e la password che va indicata senza mettere lo spazio, esempio: -pPASSWORD_DATABASE
.
Non avendolo specificato nel comando, di default mysql proverà a connettersi al database attivo su localhost
. Per importare il dump su un database remoto rispetto alla macchina su cui eseguiamo il comando, dobbiamo specificare l’hostname del server remoto con l’opzione --host=HOSTNAME_DATABASE
:
mysql -u UTENTE_DATABASE -pPASSWORD_DATABASE --host=HOSTNAME_DATABASE NOME_DATABASE < backup.sql
Dato che ci apprestiamo a eseguire lo spostamento di un file via internet, vi consiglio di usare l’opzione -C (maiuscolo!) che effettuerà la compressione dei dati durante il loro trasporto.
mysql -u UTENTE_DATABASE -pPASSWORD_DATABASE --host=HOSTNAME_DATABASE -C NOME_DATABASE < backup.sql
Se avete particolari esigenze di importazione, sono disponibili molte altre opzioni sulla documentazione ufficiale.
Buon backup!