IBM Cloud Docs
Backup di MySQL in Linux

Backup di MySQL in Linux

Per impostazione predefinita, i database MySQL sui server Linux sono archiviati nella seguente directory:

/var/lib/mysql/

Se prima hai chiuso il servizio mysqld, puoi copiare i tuoi database in una directory /backup di esempio utilizzando il seguente comando:

cp –Rp /var/lib/mysql/*.* /backup

L'interruttore –R per il cp comando significa ricorsivo, che vuoi usare perché ogni database si trova in una directory separata. Lo switch –p è per le autorizzazioni, che conserva le autorizzazioni di ciò che viene copiato.

Generalmente, arresti il servizio mysqld prima di utilizzare il precedente metodo. Se un database viene copiato mentre sta venendo utilizzato, il backup viene corrotto ed è inutile. Se sei sicuro che nessuno dei database sia in uso, puoi utilizzare il comando precedente.

Il comando mysqldump

Utilizzi il comando mysqldump per eseguire il backup di database individuali o di tutti i database su un server senza dover arrestare il servizio mysqld. Per via di questa capacità di effettuare i backup mentre mantiene ancora i database sono online, questo metodo è consigliato.

Database individuali

Il codice seguente è un comando di esempio da utilizzare per eseguire il backup di un database denominato 'esempio' alla directory /backup mentre sei loggato come root:

mysqldump example > /backup/example_backup.sql

A meno che il database sia piccolo, comprimi il backup del database per ridurre la quantità di tempo per trasferire il backup. Il seguente comando comprime il backup del database di esempio:

tar czvf /backup/example_backup.tar.gz /backup./example_backup.sql

Tutti i database

Se hai molti database di cui eseguire il backup, il seguente comando esegue il backup di tutti i database MySQL nel tuo server nella directory /backup:

mysqldump -A > /backup/databases.sql(or --all-databases)

L'opzione –A (“-all-databases” ha la stessa funzione) scarica tutti i database sul server.