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.