Existují hlavně dva způsoby zálohování databází mysql:studené (statické/offline) zálohování a horké (dynamické/online) zálohování.
1 Pomocí skriptu crontab zálohujte db každý den/týden/měsíc atd. Říkáme tomu studené zálohování. Skript může vypadat takto:
!#/bin/sh
mysqldump -usample_name -S/tmp/sample.sock --databases db1 db2 > db_backup_time.sql
manuál k mysqldump najdete zde . Vlastně celá kapitola 6 mluví o zálohování a obnově databáze. Poté budete mít zrcadlo svých dat (např. 6:00) každý den.
2 Použití mysql řešení replikace (master-slave struktura) pro online zálohování. Všechny dotazy na master vedoucí k úpravám dat budou také provedeny na slave.
porovnání:
V zásadě je studené zálohování jednodušší. Ale když se stanou špatné věci, první metoda může obnovit data pouze do doby, kdy zrcadlo smažete. Pomocí horké zálohy a nástroje mysqldump můžete data kdykoli obnovit.
Podle mých zkušeností tyto dvě metody vždy skládáme dohromady:
- každé ráno napište zrcadlo a
- postavte slave master db na jiném fyzickém počítači.
to by bylo bezpečné.