mysql高可用 keep-alived 与pxc

参考

docker network ls  #查看docker网络  ps我以前创建了 net1
docker network  rm 9a650e3d3c82 #删除docker网络

docker network create --subnet=172.18.0.0/24 net1  #重新创建网络
docker inspect net1   #查看新建的网络

docker volume create v1  创建数据库卷   #删除数据库卷docker volume rm  v1
docker inspect v1 #查看数据库卷信息


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
# 创建pxc容器
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
#节点

------------------------------------以上不行
再开始之前先学习 swarm

docker pull percona/percona-xtradb-cluster:5.7  #拉取镜像
docker tag percona/percona-xtradb-cluster:5.7 pxc #重命名镜像

docker rmi percona/percona-xtradb-cluster:5.7  #删除以前的镜像
docker network create -d overlay --attachable pxc-network # 创将建网络

创建实例

docker run -d \
  -p 9001:3306 \
  -e MYSQL_ROOT_PASSWORD=abc123456 \
  -e CLUSTER_NAME=cluster1 \
  -e XTRABACKUP_PASSWORD=abc123456 \
  -v conf1:/etc/mysql \
  -v pnv1:/var/lib/mysql --privileged \
  --name=node1 \
  --net=pxc-network \
  percona/percona-xtradb-cluster:5.7

修改pxc的配置文件

docker exec -it e1066fe2db35 /bin/bash
ls  
vi  entrypoint.sh

查看mysql配置文件
在这里插入图片描述

初始化swarm

ocker swarm init --advertise-addr 192.168.1.64

提示

Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.

执行

docker swarm leave --help
docker swarm leave --force
docker node ls
#再次执行
docker swarm init

在这里插入图片描述

docker swarm init --advertise-addr 192.168.1.64
#失败了  是不是根据提示加入docker?

在这里插入图片描述
再次换服务器执行

docker swarm join --token SWMTKN-1-10o7lx9kz7w3knoboo3538z4enqhposlyko2c5w2uyb0f52f7r-2f8wllr0ap9i6dc22ouk074zw 192.168.1.64:2377

在这里插入图片描述
如果忘了token使用
docker swarm join-token worker
在这里插入图片描述

提示这个就成功了
在主节点查看

docker node ls

在这里插入图片描述
加入进来了

然后再加入节点

docker run -d \
  -p 9001:3306 \
  -e MYSQL_ROOT_PASSWORD=abc123456 \
  -e CLUSTER_NAME=cluster1 \
  -e XTRABACKUP_PASSWORD=abc123456 \
  -e CLUSTER_JOIN=node1 \
  -v conf1:/etc/mysql \
  -v pnv2:/var/lib/mysql --privileged \
  --name=node2 \
  --net=pxc-network \
  percona/percona-xtradb-cluster:5.7

提示
在这里插入图片描述

docker network ls

在这里插入图片描述

启动报错 node1
在这里插入图片描述

正常的network

在这里插入图片描述
在这里插入图片描述
异常的network
在这里插入图片描述

https://www.jianshu.com/p/e7d4eaaecbec
https://blog.csdn.net/qq_39409110/article/details/82286198

https://2745329043.gitbook.io/book/docker/shi-zhan-xi-lie/docker-shi-zhan-xi-lie-pxc-ji-qun
mysql集群架构图
https://www.cnblogs.com/xyabk/p/10906952.html

docker修改配置文件
https://www.cnblogs.com/lonelyxmas/p/10584924.html
https://www.cnblogs.com/phoenixyouda/p/10256249.html

重要事情说三遍 一定要加

vim /etc/docker/daemon.json

{

“bip”: “172.24.16.1/24”,

“registry-mirrors”: [

"https://registry.docker-cn.com",

"https://a73cc22x.mirror.aliyuncs.com"

]

}

然后  systemctl restart docker

docker run -d  \
  -p 8080:3306  \
  -e MYSQL_ROOT_PASSWORD=abc123456  \
  -e CLUSTER_NAME=cluster1 \
  -e XTRABACKUP_PASSWORD=abc123456  \
  -v conf1:/etc/mysql  \
  -v pnv1:/var/lib/mysql --privileged \
  --name=node1 \
  --net=pxc-network \
  percona/percona-xtradb-cluster:5.7 --wsrep-new-cluster


docker run -d \
  -p 8081:3306 \
  -e MYSQL_ROOT_PASSWORD=abc123456 \
  -e CLUSTER_NAME=cluster1 \
  -e XTRABACKUP_PASSWORD=abc123456 \
  -e CLUSTER_JOIN=node1 \
  -v conf2:/etc/mysql  \
  -v pnv2:/var/lib/mysql --privileged \
  --name=node2 \
  --net=pxc-network \
  percona/percona-xtradb-cluster:5.7 




docker run -d \
  -p 8080:3306 \
  -e MYSQL_ROOT_PASSWORD=abc123456 \
  -e CLUSTER_NAME=cluster1 \
  -e XTRABACKUP_PASSWORD=abc123456 \
  -e CLUSTER_JOIN=node1 \
  -v conf3:/etc/mysql  \
  -v pnv3:/var/lib/mysql --privileged \
  --name=node3 \
  --net=pxc-network \
  percona/percona-xtradb-cluster:5.7
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值