docker搭建mysql高可用集群

docker中搭建mysql高可用集群-percona-xtradb-cluster

*percona-xtradb-cluster是一款很棒的mysql高可用集群解决方案。

  1. 特点是每个节点都能进行读写且都保存全量的数据。也就是说在任何一个节点进行写入操作,都会同步给其它所有节点写入到自己的磁盘。
  2. Mysql pxc中任何一台机器挂了,集群照常运转,因为节点间并不共享磁盘。
    3.推荐percona-xtradb-cluster 3个节点

首先你要先有一个docker(自行安装)

在这里插入图片描述

开始操作:

  1. 拉取perconea-xtradb-cluster镜像,我拉取的是稳定版本(版本自行定夺),记得用docker镜像加速器,要不然拉取镜像慢的怀疑人生。
    [root@docker ~]# docker pull percona/percona-xtradb-cluster:5.7.31

在这里插入图片描述

  1. 查看拉取的镜像
    [root@docker ~]# docker images

在这里插入图片描述

利于后面操作把image名称改的简单点
[root@docker ~]# docker tag 3a0dc027d8ac pxc:5.7.31

在这里插入图片描述

  1. 创建数据卷进行数据持久化
    [root@docker ~]# docker volume create v1

在这里插入图片描述

  1. 创建网络给mysql用,集群要单独在一个网段内
    [root@docker ~]# docker network create --subnet=172.18.0.0/24 mypxc

在这里插入图片描述

  1. 接下来基于pxc这个镜像来启动容器
    [root@docker ~]# docker run -d --name node1 -p 3301:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123.com -e CLUSTER_NAME=PC -e XTRABACKUP_PASSWORD=123.com --privileged --net=mypxc --ip 172.18.0.2 pxc:5.7.31

    #MYSQL_ROOT_PASSWORD:给数据库设置密码默认root用户
    #CLUSTER_NAME:给集群起个名字
    #XTRABACKUP_PASSWORD:集群的密码
    #privileged --net:指定网络

查看下创建的容器
[root@docker ~]# docker ps

在这里插入图片描述

可以看到容器正在运行,接下来创建剩下的2个容器。

  1. 创建剩下的2个节点时要加入集群中。
    [root@docker ~]# docker run -d --name node2 -p 3302:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123.com -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123.com -e CLUSTER_JOIN=node1 --privileged --net=mypxc --ip 172.18.0.3 pxc:5.7.31
    [root@docker ~]# docker run -d --name node3 -p 3303:3306 -v
    v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123.com -e CLUSTER_NAME=PXC
    -e XTRABACKUP_PASSWORD=123.com -e CLUSTER_JOIN=node1 --privileged --net=mypxc --ip 172.18.0.4 pxc:5.7.31

#CLUSTER_JOIN:这个参数就是加入到node1这个集群中,记得要节点名称和映射端口

在这里插入图片描述

7.进行测试,我直接用链接工具进行测试

可以看到3个节点都能连接上
在这里插入图片描述
在node1新建库
在这里插入图片描述
可以看到node1上有了这个库
在这里插入图片描述
node2、node3刷新一下
在这里插入图片描述

可以看到数据同步,关于测试我就不做过多演示了,大家如果没有连接工具,可以进入到node1、2、3容器里,登录到mysql数据库里进行操作,验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落 笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值