(记录贴)记Docker搭建PXC集群的一个坑点

Docker搭建pxc集群的资料实在太少,碰到的就是如下图所示一模一样的问题,但是还是没解决方案,然后找了半天的资料终于定位到问题的地方,就先开个记录贴
在这里插入图片描述
过程大致就是
1.pxc容器运行后提示用navicat连接提示是没有权限登录,在Mysql中就是没开远程登录权限的意思,然后就想进目录看一下有没有配置文件。
2.docker exec -it node1 bash进入容器后命令行是bash-4.2# 而不是root#******
3.找到了命令docker exec -u root -it node1 bash进入了root权限,修改了配置文件还是启动失败
4.想进mysql内创建远程账号但是mysql -uroot -p一直提示–ck错误
5.还原到最原始的状态重来然后重启部署环境看日志文件,发现首次运行卡在mysql加载中然后运行失败。
6.完全借鉴各地方资料重新部署,终于发现有一种情况能启动成功

//启动成功案例
docker run -d \
-p 3301:3306 \
--name=node1 \
-e MYSQL_ROOT_PASSWORD=root \
-e CLUSTER_NAME=cluster1 \
--net=pxc \
pxc

7.将我自己的不成功命令逐句删除对比,最后定位到

-e CLUSTER_NAME=cluster1

这里的name是cluster1的时候就能启动,然后其他名字我都试过了都卡在Mysql启动状态最后失败
期间也下载过其他的pxc镜像,也或多或少都有些问题,弄了好久一点头绪没有差点放弃了。
另外还有一个很重要的地方就是node1要先等他启动成功后再运行node2,否则也会启动失败

排除掉这个坑点…pxc集群的搭建确实还比较方便,运行后什么都不用配置新建数据库数据表都能直接同步成功

分享一下我最终的笔记,CLUSTER_NAME的问题暂时也没搞明白,因为很多教程的CLUSTER_NAME都是不一样的,但是我这只有cluster1 这个成功跑起来了


docker pull percona/percona-xtradb-cluster

//创建挂载目录
docker volume rm  v1
docker volume rm  v2
docker volume rm  v3
docker volume create --name v1
docker volume create --name v2
docker volume create --name v3
//查看目录
docker volume inspect v1 
//创建网络
docker network create --subnet=172.19.0.0/24 pxc
//开防火墙
firewall-cmd --zone=public --add-port=3301/tcp --permanent
firewall-cmd --zone=public --add-port=3302/tcp --permanent
firewall-cmd --reload

docker run \
-p 3301:3306 \
--name=node1 \
--privileged=true \
-e CLUSTER_NAME=cluster1 \
-e MYSQL_ROOT_PASSWORD=root  \
-e XTRABACKUP_PASSWORD=root \
--net=pxc \
--ip 172.19.0.2 \
-d pxc


docker run \
-p 3302:3306 \
--name=node2 \
--privileged=true \
-e CLUSTER_NAME=cluster1 \
-e MYSQL_ROOT_PASSWORD=root  \
-e XTRABACKUP_PASSWORD=root \
 -e CLUSTER_JOIN=node1 \
--net=pxc \
--ip 172.19.0.3 \
-d pxc
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值