docker部署pxc集群,实现mysql集群之间的强一致性

有些业务场景需要保证mysql节点的数据强一致性,我们可以通过pxc集群来实现

#创建数据卷(存储路径:/var/lib/docker/volumes

docker volume create v1 
docker volume create v2 
docker volume create v3

提示:docker volume rm my-vol 删除数据卷,如果创建错了可以删除
#拉取镜像,建议拉取5.7.21版本 ,自测拉取5.7版本会一直阻塞,拉取最新版本,在运行容器时会报错

docker pull percona/percona-xtradb-cluster:5.7.21 

#重命名

docker tag percona/percona-xtradb-cluster:5.7.21 pxc

#创建网络

docker network create --subnet=172.30.0.0/24 pxc-network

注意:删除创建的静态网络docker network rm pxc-network.如果创建错了可以删除
#创建容器
#第一节点

docker create -p 13306:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=pxc --name=pxc_node1 --net=pxc-network --ip=172.30.0.2 pxc

#第二节点(增加了CLUSTER_JOIN参数

docker create -p 13307:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=pxc --name=pxc_node2 -e CLUSTER_JOIN=pxc_node1 --net=pxc-network --ip=172.30.0.3 pxc

#第三节点(增加了CLUSTER_JOIN参数

docker create -p 13308:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=pxc --name=pxc_node3 -e CLUSTER_JOIN=pxc_node1 --net=pxc-network --ip=172.30.0.4 pxc 

需要注意的是:先启动第一个节点,等到mysql客户端可以连接到服务后再启动其它节点。 启动节点:

docker start pxc_node1 && docker logs -f pxc_node1 

启动成功1后再启动2和3,因为2和3要加入到1的集群中

docker start pxc_node2 && docker logs -f pxc_node2 
docker start pxc_node3 && docker logs -f pxc_node3 

#查看集群节点

show status like 'wsrep_cluster%';

如果出现如下图所示,恭喜你搭建成功在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值