Docker 搭建pxc集群 + haproxy + keepalived 高可用(一)

本次搭建pxc集群

一、下载pxc镜像

docker pull percona/percona-xtradb-cluster

二、修改镜像名称

docker tag docker.io/percona/percona-xtradb-cluster pxc

三、创建网络

1) docker 默认网段是172.18.0.*

docker network create --subnet=172.18.0.0/24 net1

2) 查看创建的网络信息

docker inspect net1

四、创建pxc容器节点1(node1)

1、创建数据卷

1) 用户挂载mysql数据

docker volume create v1

2) 查看数据卷信息

docker inspect v1

2、创建pxc容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql --privileged --name=node1 --net=net1 --ip=172.18.0.2 pxc

命令详解:

-d 后台启动

-p 3306:3306 端口映射

-e MYSQL_ROOT_PASSWORD=abc123456   指定数据库密码

-e CLUSTER_NAME=PXC 指定集群名称

-e XTRABACKUP_PASSWORD=abc123456 指定集群之间同步需要的密码

-v v1:/var/lib/mysql 把刚刚创建的数据卷挂载到mysql中

--name=node1 指定容器名称(当前我们把node1作为主节点、后面会创建node2)

--net=net1 指定网段

--ip=172.18.0.2 指定ip 

 

3、客户端连接测试

五、创建pxc容器节点node2

1、创建数据卷

docker volume create v2

2、创建容器

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql --privileged --name=node2 --net=net1 --ip=172.18.0.3 pxc

命令详解:

-e CLUSTER_JOIN=node1  指定与哪个节点进行数据同步

其他同上

3、客户端连接测试

 

 

六、测试数据同步

1、新建库和表同步测试:

1) 我在db1新建数据库wx_test和表t_user

2) 然后我在db2去查看是否有wx_test库和t_user表

2、新建表数据测试:

1) 我在t_user表中增加3条数据 test1,test2,test3

2) 然后我们再在db2去查看是否有这3条数据

db2数据也有了。

在此我们的集群便搭建成功了,当然你也可以去测试删除、修改等其他功能、这里我就不演示了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值