L’attività di backup è un aspetto di importanza vitale nell’amministrazione di un sistema informatico, avere una copia di sicurezza significa evitare la perdita di informazioni in caso di guasti, manomissioni e furti. Nel caso di database MySQL, oltre a phpmyadmin, esistono diverse soluzioni per effettuare questa procedura.
mysqldump
L’utility mysqldump permette di creare il dump di un database, o di un insieme di database, e di esportare dati in formato csv o xml. Il tool è integrato MySQL ed è utilizzabile da linea di comando. Per creare il backup di un database occorre eseguire la seguente istruzione:
mysqldump -u user -p db_sorgente > backup.sql
E’ necessario sostituire "user" con l’utente MySQL e "db_sorgente" con il nome del database di cui si intende fare il backup. Il risultato sarà un file sql chiamato "backup", contenente tutte le istruzioni per creare le tabelle (create table..) e per popolarle con i dati (insert into..). Per ripristinare il database l’istruzione da utilizzare è invece:
mysql -u user -p < backup.sql
AutoMySQLBackup
AutoMySQLBackup è invece una soluzione Open Source eseguibile da linea di comando che, utilizzando mysqldump, permette di creare backup giornalieri, settimanali e mensili di uno o più databases. Dopo aver scaricato lo script, è necessario modificare alcuni parametri di configurazione e ricreare l’eseguibile. Di seguito i principali parametri da settare:
[...]
USERNAME=root
[...]
PASSWORD=yourrootsqlpassword
[...]
DBHOST=localhost
[...]
# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
DBNAMES="db_ispconfig web1 web2 web3"
[...]
# Backup directory location e.g /backups
BACKUPDIR="/backups"
[...]
# Email Address to send mail to? (user@domain.com)
MAILADDR="user@domain.com"
[...]
Percona XtraBackup
Percona XtraBackup è un’altra valida alternativa che ha una versione Open Source, essa supporta solo i sistemi operativi Linux based mentre la versione commerciale a pagamento supporta anche Windows, OSX e Solaris. Le caratteristiche principali di questo prodotto sono:
- possibilità di creare backup incrementali;
- backups compressi su server diversi;
- spostamento on-line di tabelle tra servers MySQL;
- creazione agevole di sistemi slave di replicazione;
- backup senza appesantire il carico del server.
Un’altra semplice soluzione è costituita da MySQL Backup Manager, applicazione Open Source con interfaccia grafica installabile sui sistemi Windows. Il tool automatizza il processo di backup giornaliero dei database e di pulizia di vecchi backups tramite un servizio Windows, permette inoltre di configurare i vari parametri dell’applicazione e di scegliere per quali databases eseguire il backup. Vi è inoltre la possibilità di effettuare manualmente il backup dei dati. E’ presente un sistema di logging per registrare le azioni eseguite e gli eventuali errori. Il software richiede appena 15 MB di spazio su disco, almeno 512 MB di e un processore da un minimo di 1 Ghz.
Zmanda Recovery Manager
Zmanda Recovery Manager (ZRM) rappresenta un’altra possibile soluzione per il backup di databases MySQL. Le differenze principali tra la versione Open Source e la release enterprise a pagamento, sono che la prima non mette a disposizione né un’interfaccia grafica né un’interfaccia Web di gestione e il supporto non è incluso.
L’applicazione permette di:
- schedulare backups completi e incrementali;
- avviare un backup manualmente oppure posticipare, sulla base di una soglia scelta dall’utente, un backup schedulato;
- scegliere tra un backup logico più flessibile o un backup “grezzo” più veloce;
- eseguire il backup di un database remoto protetto da firewall;
- configurare la compressione e criptazione;
- ricevere notifiche email sullo stato dei backups;
- monitorare i backups;
- definire retentions-policies ed eliminare backups scaduti;
- ripristinare facilmente un database in qualsiasi momento oppure ad una particolare transazione;
- effettuare ricerche sui log di MySQL.
Segui la nostra nuova guida a MySQL.