Z dokumentacji MySQL , istnieją dwa sposoby na skonfigurowanie architektury master-slave. Tradycyjny sposób, wykorzystujący pliki dziennika do replikacji transakcji, a nowa wersja (5.6+) przy użyciu identyfikatorów GTID (globalnych identyfikatorów transakcji).
Jeśli zdecydujesz się użyć identyfikatorów GTID do obsługi przełączania awaryjnego, użyjesz mysqlfailover pożytek. Narzędzie obsługuje awarie mastera na jeden z trzech sposobów zdefiniowanych przez administratora bazy danych:
- auto (domyślnie):Przeprowadzane jest wyszukiwanie na liście preferowanych urządzeń podrzędnych, aby stać się głównymi, jeśli żaden nie jest dostępny, wybierany jest inny podrzędny. Wybrany niewolnik najpierw staje się niewolnikiem wszystkich innych niewolników i ma skopiowane do niego wszystkie zmiany z innych niewolników, w ten sposób nowy master będzie możliwie najbardziej aktualną wersją.
- wybierz:to samo, co powyżej, z tym wyjątkiem, że jeśli nie ma urządzeń podrzędnych z listy, zwraca błąd i kończy działanie (bez przełączania awaryjnego)
- Niepowodzenie:Nie nastąpi przełączenie awaryjne mysqlfailover po prostu monitoruje bazę danych i zwróci błąd w przypadku awarii.
Tradycyjny sposób wymaga zaimplementowania własnego skryptu do zarządzania bazą danych i jest lepiej wyjaśniony tutaj .