mysql pxc集群搭建

pecona XtraDB Cluster 业界主流的mysql数据库集群方案,数据同步强一致性,只支持innodb引擎。

1、容器会不会损耗mysql性能,不会。

2、容器崩溃如何提取mysql数据,目录映射。

首先要放开如下端口

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/udp --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启动后就没有主节点了。

 docker run -d -p 9001:3306 -e MYSQL_ROOT_PASSWORD=123 -e CLUSTER_NAME=pxc -e XTRABACKUP_PASSWORD=123 -v pnv1:/var/lib/mysql --privileged --name=pn1 --net=swarm_mysql pxc

创建第二个节点

docker run -d -p 9001:3306 -e MYSQL_ROOT_PASSWORD=123 -e CLUSTER_NAME=pxc -e XTRABACKUP_PASSWORD=123  -e CLUSTER_JOIN=pn1 -v pnv1:/var/lib/mysql --privileged --name=pn2 --net=swarm_mysql pxc

数据卷相当于给容器挂载一个虚拟的磁盘,管理数据卷的指令如下

docker volume ls 查看

docker volume inspect xxx 查看详情

docker volume create xxx 创建

docker volume rm xx 删除

docker volume prune

pxc节点最后退出的节点最先启动,而且要按主节点启动,docker不能改变容器启动参数,如果从节点后退出,就只能修改启动参数grastate.dat文件,safe_to_bootstrap = 0修改0

pxc传输数据是双向的,强一致性的,pxc集群数量不能太多,太多会影响数据同步速度。实现数据切分需要构建不同的pxc数据集群,称为pxc分片。

 

posted on 2020-03-22 19:52  清浊  阅读(591)  评论(0)    收藏  举报