2009-09-07 13 views
8

Używam następującego polecenia rsync do tworzenia kopii zapasowych danych MySQL na komputerze w sieci LAN. Działa zgodnie z oczekiwaniami.Używanie rsync do tworzenia kopii zapasowych MySQL

rsync -avz /mysql/ root:[email protected]:: /root/testme/ 

Po prostu chcę się upewnić, że jest to właściwy sposób korzystania z rsync.

Chciałbym również wiedzieć, czy 5-minutowy wpis crontab będzie działał.

Odpowiedz

16
  1. do tego celu nie używaj użytkownika root zdalnego komputera. W rzeczywistości, nigdy nie łącz się bezpośrednio z użytkownikiem root, to jest poważny wyciek bezpieczeństwa. W tym przypadku wystarczy utworzyć nowego użytkownika z kilku przywilejów, które mogą pisać tylko do lokalizacji zapasowej
  2. Nie używaj hasła dla tego połączenia, ale zamiast używać public-key authentication
  3. Upewnij się, że MySQL nie jest uruchomiony, gdy robisz to lub możesz łatwo uzyskać uszkodzoną kopię zapasową.
  4. Użyj pliku mysqldump, aby utworzyć zrzut bazy danych podczas działania MySQL. Możesz bezpiecznie skopiować to zrzutu.
5

Naprawdę nie wiem o twoim poleceniu rsync, ale nie jestem pewien, czy jest to właściwy/najlepszy sposób tworzenia kopii zapasowych za pomocą MySQL; prawdopodobnie powinieneś rzucić okiem na tę stronę podręcznika: Kopie zapasowe DB niekoniecznie są tak proste, jak mogłoby się wydawać, biorąc pod uwagę takie problemy, jak blokady, opóźniony zapis i wszelkie inne optymalizacje, jakie MySQL może zrobić z jego danymi. Zwłaszcza jeśli Twoje stoły nie używają silnika MyISAM.

Informacje o "5 minutowy crontab": wykonujesz kopię zapasową co pięć minut? Jeśli twoje dane są tak sensowne, powinieneś pomyśleć o czymś innym, np. O replikacji na innym serwerze, aby zawsze mieć aktualną kopię.

6

Uważam, że lepszym sposobem wykonywania kopii zapasowych MySQL jest użycie narzędzia replikacji.

skonfigurować kopię zapasową maszyny jako niewolnik swojego mistrza. Każda transakcja jest następnie automatycznie odzwierciedlana.

Można również wyłączyć urządzenie podrzędne i wykonać z niego pełną kopię zapasową. Po ponownym uruchomieniu urządzenia slave ponownie synchronizuje się z masterem.

+1

To będzie działać tylko, jeśli masz kompletne binogs na wzorcu. Czasami najlepiej jest przywrócić slave z nieco przestarzałej kopii zapasowej (zrobionej za pomocą 'mysqldump --master-data'), a następnie' slave start', aby upewnić się, że powstała baza danych jest kompletna. –

+0

Tak, duplikat bazy danych zapisuje na innym komputerze. Następnie, gdy przypadkowo usuniesz całą tabelę lub bazę danych, możesz po prostu przejść do zreplikowanego serwera MySQL i ... och cholera. – Ernie

Powiązane problemy