Mysql
MySQL 集群複製和故障轉移通過 docker-compose
我正在使用 docker-compose 創建 MySQL 集群(NDB)。創建集群後。這是我的集群配置:
ndb_mgm> show Connected to Management Server at: mysql-manager-1:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=11 @172.xx.0.5 (mysql-5.7.25 ndb-7.6.9, Nodegroup: 0, *) id=12 @172.xx.0.8 (mysql-5.7.25 ndb-7.6.9, Nodegroup: 0) [ndb_mgmd(MGM)] 2 node(s) id=1 @172.xx.0.2 (mysql-5.7.25 ndb-7.6.9) id=2 @172.xx.0.3 (mysql-5.7.25 ndb-7.6.9) [mysqld(API)] 2 node(s) id=21 @172.xx.0.4 (mysql-5.7.25 ndb-7.6.9) id=22 @172.xx.0.7 (mysql-5.7.25 ndb-7.6.9)
當我關閉其中一個 SQL 節點時,集群變得無法訪問。
例如,當 id=21 的節點關閉時,仍然可以從節點 id=22 訪問數據,因為所有其他數據節點和管理節點都已啟動並執行。
這種行為是開箱即用的,還是我必須對其進行一些配置更改?
我已經閱讀了 MySQL文件。
我指的是正確的文件嗎?
他們建議在主機上執行這些步驟,但在我的情況下,每個節點都部署為一個單獨的 docker 容器。在我的情況下,如何實現此故障轉移?
您可能已經設置了複製,但故障轉移不會神奇地自行發生。你還需要
- 某種集群管理器來通知故障並啟動故障轉移過程。
- 完成故障轉移過程並確保新的主節點可操作。這裡描述了部分過程。
- 浮動 IP 地址或某種連接代理,用於將傳入連接定向到新的主伺服器。