InnoDB Cluster / Group Replication sağlık durumunu gör
MySQLInnoDB ClusterKomut
# Shell: topoloji, primary, hata toleransi, lag
mysqlsh icadmin@db1:3306 -- cluster status --extended=1
mysqlsh icadmin@db1:3306 -- cluster list-routers
-- SQL: herhangi bir uyeden grup uyeleri ve kuyruklar
SELECT m.MEMBER_HOST, m.MEMBER_PORT, m.MEMBER_STATE, m.MEMBER_ROLE, m.MEMBER_VERSION,
s.COUNT_TRANSACTIONS_IN_QUEUE AS certify_queue,
s.COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE AS apply_queue,
s.COUNT_CONFLICTS_DETECTED AS conflicts
FROM performance_schema.replication_group_members m
JOIN performance_schema.replication_group_member_stats s ON s.MEMBER_ID = m.MEMBER_ID
ORDER BY m.MEMBER_ROLE, m.MEMBER_HOST;Ne yapar?
Cluster'ın genel durumunu (OK / OK_NO_TOLERANCE / NO_QUORUM), primary'yi, her üyenin state'ini ve certification / applier kuyruklarını gösterir; kuyruklar hangi üyenin geride kaldığını ve flow control riskini ortaya koyar.
Ne zaman kullanılır?
Her müdahaleden önce ve sonra; alarm, yazma yavaşlaması veya bir üyenin RECOVERING / ERROR / UNREACHABLE görünmesi durumunda.
Dikkat
statusText 'can tolerate up to ONE failure' (3 üye) olmalı. NO_QUORUM'da yazma durur; forceQuorumUsingPartitionOf yalnız diğer partition'ın kesin kapalı olduğundan eminken kullanılır, aksi halde split-brain olur. apply_queue sürekli büyüyen üye flow control'ü tetikleyip primary'deki yazmaları yavaşlatır. RECOVERING uzun sürüyorsa üye clone / incremental recovery yapıyordur; ERROR ise error log'a bak ve cluster.rejoinInstance() dene. Parolada özel karakter varsa (#, @) URI'de URL-encode et (# → %23).