Backup MySQL · 3 min read · Feb 10, 2026
Backup e Ripristino MySQL Con mysql-zrm Su Debian Sarge - Pagina 4
6 Verifica I Tuoi Backup
Ora vogliamo controllare l’integrità del nostro set di backup dailyrun. Possiamo farlo in questo modo:
mysql-zrm --action verify-backup --backup-set dailyrunL’output dovrebbe apparire così:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Verification successful |
(Puoi ignorare l’avviso nella prima riga, non è nulla di serio.)
Successivamente vogliamo controllare un backup specifico all’interno del nostro set di backup dailyrun. Prima eseguiamo
mysql-zrm-reporter -show restore-full-info --where backup-set=dailyrunper scoprire quali backup sono disponibili:
| backup_set backup_date backup_level backup_directory ---------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195747 dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195808 dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195831 dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926202404 |
Come puoi vedere, ci sono quattro backup nel nostro set di backup dailyrun. Vogliamo controllare l’ultimo che si trova nella directory /var/lib/mysql-zrm/dailyrun/20060926202404. Ecco come possiamo farlo:
mysql-zrm --action verify-backup --backup-set dailyrun --no-quiet --source-directory /var/lib/mysql-zrm/dailyrun/20060926202404L’output dovrebbe apparire così:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Verification successful |
7 Recupero Dati
Supponiamo che il nostro database sia andato in crash e abbiamo perso dati. Ecco come possiamo ripristinare i nostri dati dai nostri backup MySQL. Prima eseguiamo
mysql-zrm-reporter -show restore-full-info --where backup-set=dailyrunper scoprire quali backup sono disponibili:
| backup_set backup_date backup_level backup_directory ---------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195747 dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195808 dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195831 dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926202404 |
Vogliamo ripristinare dal nostro ultimo backup che si trova in /var/lib/mysql-zrm/dailyrun/20060926202404:
mysql-zrm --action restore --backup-set dailyrun --source-directory /var/lib/mysql-zrm/dailyrun/20060926202404L’output appare così:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Restored database from raw backup: egroupware INFO: Restored database from raw backup: mysql INFO: Restore done in 14 seconds. MySQL server has been shutdown. Please restart after verification. |
I dati sono stati ripristinati, ma il server MySQL è stato arrestato. Pertanto, dobbiamo avviarlo ora:
/etc/init.d/mysql startSe hai effettuato i tuoi backup nel formato logico invece che nel formato raw, puoi anche recuperare i tuoi dati in questo modo.
8 Politiche Di Backup Multiple
Fino ad ora, avevamo una configurazione globale in /etc/mysql-zrm/mysql-zrm.conf che si applicava a tutti i nostri set di backup. Ora supponiamo di avere un set di backup osCommerce per il nostro database osCommerce, un altro set di backup vBulletin per il nostro database vBulletin, ecc.
Non ha senso eseguire il backup di tutti i nostri database MySQL nel set di backup osCommerce perché quel backup dovrebbe contenere solo il database osCommerce, e lo stesso vale per il nostro set di backup vBulletin. Ecco come possiamo risolvere questo problema:
Ogni set di backup ha la propria sottodirectory nella directory /etc/mysql-zrm, ad esempio il set di backup osCommerce ha la directory /etc/mysql-zrm/osCommerce. Ora ogni volta che viene eseguito mysql-zrm, controlla prima la configurazione globale in /etc/mysql-zrm/mysql-zrm.conf, e poi controlla la directory del set di backup corrente per il file mysql-zrm.conf le cui impostazioni sovrascrivono le impostazioni globali in /etc/mysql-zrm/mysql-zrm.conf. Ad esempio, se il set di backup corrente è osCommerce, mysql-zrm leggerebbe prima la configurazione da /etc/mysql-zrm/mysql-zrm.conf e successivamente la configurazione da /etc/mysql-zrm/osCommerce/mysql-zrm.conf.
Se vogliamo solo eseguire il backup del database MySQL osCommerce nel set di backup osCommerce, mettiamo quanto segue in /etc/mysql-zrm/osCommerce/mysql-zrm.conf:
vi /etc/mysql-zrm/osCommerce/mysql-zrm.conf| databases=osCommerce |
9 Rimozione Di Vecchi Backup
Se non hai impostato la retention-policy nella tua configurazione mysql-zrm, i backup MySQL vengono mantenuti per sempre, il che significa che il tuo disco rigido si riempirà nel tempo. Puoi rimuovere vecchi backup semplicemente eliminando la directory di backup. Ad esempio, se hai un backup in /var/lib/mysql-zrm/dailyrun/20060926195831 e non ne hai più bisogno, puoi eliminarlo in questo modo:
rm -fr /var/lib/mysql-zrm/dailyrun/2006092619583110 Log
mysql-zrm registra nel file di log /var/log/mysql-zrm/mysql-zrm.log.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.