搭建PXC叢集
阿新 • • 發佈:2020-07-12
PXC叢集介紹
Percona XtraDB Cluster是業界主流的MySQL叢集方案
PXC叢集的資料同步具有強一直性的特點
PXC叢集只支援InnoDB引擎
資料庫也能執行在Docker中
MySQL放在容器中執行會不會有效能損耗?
因為Docker是輕量級的虛擬機器,Docker既沒有虛擬硬體,也安裝獨立的作業系統,只是給Docker繫結上了CPU和記憶體,Docker內部再去劃分每個容器佔有多少硬體資源,Docker直接使用宿主機的Linux核心與作業系統進行互動,所以容器IO的效能是不會有損失的
資料儲存到容器中,如果容器崩潰,如何提取資料?
因為容器是可讀寫,資料庫存部署在容器中,那麼資料也就存在中容器中,宿主機無發訪問容器內部的檔案,如果容器故障,沒有辦法從容器中提取出來
但是可以對容器做目錄對映或者掛載資料卷,把容器裡面MySQL的資料目錄對映到宿主機的資料夾下面,即便容器崩潰了,宿主機上存放著資料庫的資料
開啟防火牆埠
開啟2388、7946和4789埠,重啟Docker服務
firewall-cmd --zone=public --add-port=2377/tcp --permanent firewall-cmd --zone=public --add-port=7946/tcp --permanent firewall-cmd --zone=public --add-port=7946/udp --permanent firewall-cmd --zone=public--add-port=4789/tcp --permanent firewall-cmd --zone=public --add-port=4789/udp --permanent firewall-cmd --reload
下載PXC映象
docker pull percona/percona-xtradb-cluster docker tag percona/percona-xtradb-cluster pxc #映象改名 docker rmi percona/percona-xtradb-cluster #將原映象刪掉,就只剩下pxc映象了
PXC的主節點容器
第一個啟動的PXC節點是主節點,它要初始化PXC叢集
PXC啟動之後,就沒有主節點的角色
PXC叢集中任何節點都是可以讀寫資料