Från MySQL-dokumentationen , det finns två sätt att ställa in en master-slave-arkitektur. Det traditionella sättet, att använda loggfilerna för att replikera transaktioner och den nya versionen (5.6+) med GTID (globala transaktionsidentifierare).
Om du väljer att använda GTID för att hantera failover kommer du att använda mysqlfailover verktyg. Verktyget hanterar misslyckanden i master på ett av tre sätt som definieras av databasadministratören:
- auto (standard):En sökning görs i en lista över föredragna slavar för att bli master, om ingen är tillgänglig väljs en annan slav. Den valda slaven blir först slav till alla andra slavar och har alla ändringar från de andra slavarna kopierade till sig, på så sätt blir den nya mastern den mest uppdaterade versionen som möjligt.
- välj:samma som ovan, förutom att om inga slavar från listan är tillgängliga returnerar det ett fel och avslutas (ingen failover)
- fail:Ingen failover händer mysqlfailover kommer bara att övervaka databasen och returnera ett fel om ett misslyckande inträffar.
Det traditionella sättet kräver att du implementerar ditt eget skript för databashantering och är bättre förklarat här .