没有合适的资源?快使用搜索试试~ 我知道了~
超详细干货!Docker+PXC+Haproxy搭建高可用强一致性的MySQL集群.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 71 浏览量
2022-07-13
16:08:48
上传
评论 1
收藏 749KB DOC 举报
温馨提示
试读
21页
超详细干货!Docker+PXC+Haproxy搭建高可用强一致性的MySQL集群.doc
资源推荐
资源详情
资源评论
超详细干货!Docker+PXC+Haproxy 搭建高可用强一致性的 MySQL 集群
前言
干货又来了,全程无废话,可先看目录了解。
MySQL 搭建集群最常见的是 binlog 方式,但还有一种方式是强一致性的,能保证集群节
点的数据一定能够同步成功,这种方式就是 pxc,本篇就使用图文方式一步步展示具体的搭
建步骤及最终效果。
搭建
本次搭建集群环境以 5 节点 MySQL 为例
1、安装 pxc 镜像
拉取 pxc 镜像
docker pull percona/percona-xtradb-cluster
镜像名称太长,修改一下:
docker tag percona/percona-xtradb-cluster pxc
删除之前的:
docker rmi percona/percona-xtradb-cluster
2、创建内部网络
创建内部网段,24 位,名称 net1:
docker network create --subnet=172.18.0.0/24 net1
查看 net1 网段:
docker inspect net1
删除 net1:(这里不执行,留作参考。)
docker network rm net1
3、创建 docker 数据卷
因为 pxc 不支持映射目录,所以采用映射数据卷的方式。
创建数据卷叫 v1,这里 5 个节点,所以创建 5 个数据卷:
docker volume create v1
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5
查看 v1 数据卷在宿主机的位置:
docker inspect v1
删除数据卷 v1:(这里不执行,留作参考。)
docker volume rm v1
4、创建 pxc 容器
这里最好先把备份数据的数据卷创建出来,然后也映射到宿主机,这样以后做热备份的时
候就不用删掉容器节点重新再创建容器并映射备份目录了。
做备份数据的数据卷:
docker volume create backup1
docker volume create backup2
docker volume create backup3
docker volume create backup4
docker volume create backup5
开始创建 5 个 MySQL 节点
命令参数说明:端口 3306,密码 123456,集群名称 PXC,同步数据密码 123456,映射数
据目录到宿主机的 v1 数据卷,给予最高权限,名称叫 node1,网段为 net1,ip 指定为
172.18.0.2,运行的镜像是 pxc。
1)、创建第 1 个 MySQL 节点
这里要注意:一定要等到第一个节点创建并通过客户端连接成功,才能继续创建其它的节
点,否则因为找不到 node1 同步库,其它节点创建时会闪退!
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e
CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -v v1:/var/lib/mysql -v
backup1:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc
2)、创建第 2 个 MySQL 节点
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -e
CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=node1
-v v2:/var/lib/mysql -v backup2:/data --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc
3)、创建第 3 个 MySQL 节点
docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -e
CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=node1
-v v3:/var/lib/mysql -v backup3:/data --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc
4)、创建第 4 个 MySQL 节点
docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 -e
CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=node1
-v v4:/var/lib/mysql -v backup4:/data --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc
5)、创建第 5 个 MySQL 节点
docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456 -e
CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=node1
-v v5:/var/lib/mysql -v backup5:/data --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc
5、验证 PXC 集群
连接 5 个数据库节点:
在 DB1 中新建一个数据库 test,新建一张表 tb_student,新建两条数据。
剩余20页未读,继续阅读
资源评论
书博教育
- 粉丝: 1
- 资源: 2837
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功