Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Failover:Wie wähle ich Slave als neuen Master?

Aus der MySQL-Dokumentation , gibt es zwei Möglichkeiten, eine Master-Slave-Architektur einzurichten. Die traditionelle Art, die Protokolldateien zum Replizieren von Transaktionen zu verwenden, und die neue Version (5.6+) mithilfe von GTIDs (Global Transaction Identifiers).

Wenn Sie sich für die Verwendung von GTIDs für die Failover-Behandlung entscheiden, verwenden Sie mysqlfailover Dienstprogramm. Das Dienstprogramm behandelt Fehler des Masters auf eine von drei Arten, die vom Datenbankadministrator definiert werden:

  • auto (Standard):Es wird in einer Liste bevorzugter Slaves gesucht, um Master zu werden, wenn keine verfügbar sind, wird ein anderer Slave ausgewählt. Der ausgewählte Slave wird zuerst der Slave aller anderen Slaves und hat alle Änderungen von den anderen Slaves auf ihn kopiert, auf diese Weise wird der neue Master die aktuellste Version sein, die möglich ist.
  • elect:dasselbe wie oben, außer dass, wenn keine Slaves aus der Liste verfügbar sind, es einen Fehler zurückgibt und beendet wird (kein Failover)
  • fail:Kein Failover findet statt mysqlfailover überwacht nur die Datenbank und gibt einen Fehler zurück, wenn ein Failover auftritt.

Der traditionelle Weg erfordert, dass Sie Ihr eigenes Skript für die Datenbankverwaltung implementieren und wird besser erklärt hier .