簡介
新的項目由於特殊的原因並不能使用rancher編排管理docker容器,只能使用常規的docker容器環境,其中就涉及到部署MySQL數據庫的集群;在以前的思路中最為常見的就是MySQL主從,MySQL讀寫分離,但最近發現有了一種新的MySQL集群部署方式PXC;簡而言之PXC集群沒有主次之分,都是讀寫,部分從屬關系,都是負載節點,至少三個節點以上;至於優缺點以后在實際運用中慢慢驗證。
配置環境
系統:Centos 7.6 X86
軟件:docker 19.03
鏡像:percona/percona-xtradb-cluster:5.6
跨主機插件:overlay
重要步驟
1.創建docker跨主機網絡環境
詳情可以見傳送門
2.創建第一個節點
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 --privileged=true --name=pxc-node1 --net=dbpxc percona/percona-xtradb-cluster:5.6
CLUSTER_NAME—集群名稱,后續新加入節點都要保持一致
XTRABACKUP_PASSWORD—集群同步的密碼,后續新加入節點都要保持一致
關於網絡設置以及持續化存儲可以根據實際情況修改
3.加入節點
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=pxc-node1 --privileged=true --name=pxc-node2 --net=dbpxc percona/percona-xtradb-cluster:5.6
CLUSTER_JOIN—加入第一個節點的集群之中,請注意這個地方請填寫pxc-node1的IP地址,不然其他的節點是無法通過docker名稱尋找到真正的節點信息。
4.測試是否成功開啟集群
在一個節點創建一個數據庫,查看另外的節點是否會同步