DBAtlas · Veritabanı operasyon atlası

MySQL Router'ı InnoDB Cluster'a bootstrap et

MySQLRouter & Proxy

Komut

# Metadata'dan konfig uretir, router hesabini acar; root ile calisiyorsan --user zorunlu
mysqlrouter --bootstrap icadmin@db1:3306 --directory /etc/mysqlrouter/prod --account routeruser --account-create if-not-exists --name router01 --conf-bind-address 0.0.0.0 --user mysqlrouter
/etc/mysqlrouter/prod/start.sh
# Portlar: 6446 RW, 6447 RO, 6450 RW split (classic); 6448 / 6449 X protocol
mysql -h app-host -P 6446 -u app -p -e "SELECT @@hostname"
mysql -h app-host -P 6447 -u app -p -e "SELECT @@hostname"
mysqlsh icadmin@db1:3306 -- cluster list-routers

Ne yapar?

Router'ı cluster metadata'sına kaydeder, gerekli hesap ve konfigürasyonu üretir; uygulama RW portundan her zaman güncel primary'ye, RO portundan secondary'lere round-robin ile ulaşır.

Ne zaman kullanılır?

InnoDB Cluster / ClusterSet / ReplicaSet önüne transparent failover katmanı koyarken; genellikle her uygulama sunucusuna bir Router.

Dikkat

Router durumsuzdur; uygulama sunucusunun yanında çalıştırmak tek hata noktası yaratmaz, merkezi tek Router ise yaratır. Bootstrap hesabı yalnız bootstrap'ta kullanılır; Router metadata'yı kendi hesabıyla (routeruser) okur. Topoloji değişikliklerini metadata cache ile otomatik öğrenir, yeniden bootstrap gerekmez. RW split portu (6450) transaction içindeki okumaları primary'ye, dışındakileri secondary'lere gönderir; read-your-writes bekleyen uygulamada dikkat. Router sürümü cluster'daki MySQL sürümünden eski olmamalı.

DBAtlas'ta aç →

İlgili