DBAtlas · Atlas für Datenbankbetrieb

Geplanter Switchover der Primary in InnoDB Cluster

MySQLInnoDB Cluster

Befehl

# Shell: planned switchover
mysqlsh icadmin@db1:3306 -- cluster set-primary-instance db2:3306

-- SQL alternative: target member's server_uuid, 30 s timeout for open transactions
SELECT MEMBER_HOST, MEMBER_ID, MEMBER_ROLE FROM performance_schema.replication_group_members;
SELECT group_replication_set_as_primary('3f06e651-c356-11f1-8aac-927a9034ef99', 30);

Was es tut

Verlagert im Single-Primary-Modus die Primary-Rolle kontrolliert auf ein anderes Mitglied; die alte Primary wird super_read_only, die neue wendet ihren Rückstand an und öffnet für Schreibvorgänge. MySQL Router erkennt die neue Primary automatisch.

Wann einsetzen

Vor Wartung, OS-Patching oder einem Upgrade der Primary sowie bei Hardwareumzügen.

Vorsicht

Offene Transaktionen auf der alten Primary werden beendet, wenn das Timeout abläuft; ohne Timeout wartet der Wechsel auf sie und dauert länger. Verbindet sich die Anwendung nicht über Router, musst du sie selbst umleiten. Mit BEFORE_ON_PRIMARY_FAILOVER warten Schreibvorgänge, bis die neue Primary ihren Rückstand abgearbeitet hat; bestätige vorher im Cluster-Status, dass apply_queue leer ist. In InnoDB Cluster den Shell-Befehl bevorzugen; er bleibt konsistent mit den Metadaten.

In DBAtlas öffnen →

Verwandte Einträge