Istnieją głównie dwa sposoby tworzenia kopii zapasowych baz danych mysql:kopia zapasowa na zimno (statyczna/offline) i kopia zapasowa na gorąco (dynamiczna/online).
1 Używając skryptu crontab twórz kopię zapasową bazy danych każdego dnia/tygodnia/miesiąca itd. Nazywamy to zimnym backupem. Skrypt może wyglądać tak:
!#/bin/sh
mysqldump -usample_name -S/tmp/sample.sock --databases db1 db2 > db_backup_time.sql
instrukcję mysqldump znajdziesz tutaj . Właściwie cały chp.6 mówi o kopii zapasowej i odzyskiwaniu bazy danych. Następnie codziennie otrzymasz kopię lustrzaną swoich danych (np. o 6 rano).
2 Korzystanie z mysql rozwiązań do replikacji (struktura master-slave) do tworzenia kopii zapasowych online. Wszystkie zapytania na urządzeniu głównym prowadzące do modyfikacji danych będą również wykonywane na urządzeniu podrzędnym.
porównanie:
Zasadniczo tworzenie kopii zapasowej na zimno jest łatwiejsze. Ale gdy zdarzają się złe rzeczy, pierwsza metoda może odzyskać dane tylko do czasu zrzucenia kopii lustrzanej. Dzięki narzędziu do tworzenia kopii zapasowych na gorąco i narzędziu mysqldump możesz odzyskać dane w dowolnym momencie.
Z mojego doświadczenia wynika, że te dwie metody zawsze komponujemy razem:
- pisać lustro każdego ranka i
- zbuduj slave głównej bazy danych na innej fizycznej maszynie.
to byłoby bezpieczne.