InnoDB Cluster'da planlı primary değişimi (switchover)
MySQLInnoDB ClusterKomut
# Shell: planli switchover
mysqlsh icadmin@db1:3306 -- cluster set-primary-instance db2:3306
-- SQL alternatifi: hedef uyenin server_uuid'i, acik transaction'lar icin 30 sn timeout
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);Ne yapar?
Single-primary modda primary rolünü kontrollü biçimde başka üyeye taşır; eski primary super_read_only olur, yeni primary backlog'unu uygulayıp yazmaya açılır. MySQL Router yeni primary'yi otomatik öğrenir.
Ne zaman kullanılır?
Primary'nin bakımı, OS patch'i veya upgrade'i öncesinde ve donanım taşımada.
Dikkat
Eski primary'deki açık transaction'lar timeout sonunda kesilir; timeout verilmezse bitmeleri beklenir ve switchover uzar. Uygulama Router üzerinden bağlanmıyorsa yönlendirmeyi kendin yapmalısın. BEFORE_ON_PRIMARY_FAILOVER ile yeni primary backlog'u bitirene kadar yazmalar bekler; önce cluster status'ta apply_queue'nun boş olduğunu doğrula. InnoDB Cluster'da Shell komutu tercih edilir; metadata ile tutarlı kalır.