Uit de MySQL-documentatie , zijn er twee manieren om een master-slave-architectuur op te zetten. De traditionele manier, waarbij de logbestanden worden gebruikt om transacties te repliceren en de nieuwe versie (5.6+) met GTID's (globale transactie-ID's).
Als u ervoor kiest GTID's te gebruiken om de failover-afhandeling uit te voeren, gebruikt u de mysqlfailover nutsvoorziening. Het hulpprogramma verwerkt masterfouten op een van de drie manieren die door de databasebeheerder zijn gedefinieerd:
- auto (standaard):Er wordt gezocht in een lijst met favoriete slaves om master te worden, als er geen beschikbaar zijn, wordt een andere slave gekozen. De gekozen slaaf wordt eerst de slaaf van alle andere slaven en heeft alle wijzigingen van de andere slaven ernaar gekopieerd, op deze manier zal de nieuwe meester de meest up-to-date versie zijn die mogelijk is.
- elect:hetzelfde als hierboven, behalve dat als er geen slaves uit de lijst beschikbaar zijn, het een fout retourneert en eindigt (geen failover)
- mislukt:er vindt geen failover plaats mysqlfailover zal alleen de database controleren en een fout retourneren als er een storing optreedt.
De traditionele manier vereist dat u uw eigen script implementeert voor databasebeheer en wordt beter uitgelegd hier .