Esistono principalmente due modi per eseguire il backup dei database mysql:backup a freddo (statico/offline) e backup a caldo (dinamico/online).
1 Utilizzando uno script crontab, esegui il backup del tuo db ogni giorno/settimana/mese, ecc. Lo chiamiamo backup a freddo. Lo script potrebbe essere così:
!#/bin/sh
mysqldump -usample_name -S/tmp/sample.sock --databases db1 db2 > db_backup_time.sql
puoi trovare il manuale di mysqldump qui . In realtà, l'intero capitolo 6 parla di backup e ripristino del database. Dopodiché, riceverai il mirror dei tuoi dati (es. 6:00) ogni giorno.
2 Utilizzo di mysql soluzioni di replica (struttura master-slave) per il backup online. Tutte le query su master che portano alla modifica dei dati verranno eseguite anche su slave.
confronto:
Fondamentalmente, il backup a freddo è più semplice. Ma quando accadono cose brutte, il primo metodo può recuperare i dati solo fino al momento in cui scarichi il mirror. Con il backup a caldo e lo strumento mysqldump, puoi recuperare i dati in qualsiasi momento.
Nella mia esperienza, componiamo sempre questi due metodi insieme:
- scrivi allo specchio ogni mattina e,
- crea uno slave di master db su un'altra macchina fisica.
sarebbe sicuro.