Det finns huvudsakligen två sätt att säkerhetskopiera dina mysql-databaser:kall (statisk/offline) backup och varm (dynamisk/online) backup.
1 Använd ett crontab-skript för att säkerhetskopiera din db varje dag/vecka/månad, etc. Vi kallar det kall säkerhetskopiering. Skriptet kanske så här:
!#/bin/sh
mysqldump -usample_name -S/tmp/sample.sock --databases db1 db2 > db_backup_time.sql
du kan hitta manualen för mysqldump här . Egentligen talar hela kap.6 om säkerhetskopiering och återställning av databaser. Efter detta kommer du att få spegeln av dina data (t.ex. kl. 06.00) varje dag.
2 Använda mysql replikeringslösningar (master-slave-struktur) för online backup. Alla frågor på master som leder till dataändringar kommer också att utföras på slav.
jämförelse:
I grund och botten är kall backup lättare. Men när dåliga saker händer, första metoden kan bara återställa data till den tid du dumpar spegeln. Med hot backup och mysqldump-verktyget kan du återställa data till när som helst.
Enligt min erfarenhet komponerar vi alltid dessa två metoder tillsammans:
- skriv spegel varje morgon, och
- bygga en slav av master db på en annan fysisk maskin.
det skulle vara säkert.