docker部署mysql8之PXC8.0分布式集群过程例子解析

在这里插入图片描述

代码示例:

部署MySQL 8的PXC 8.0分布式集群的过程涉及到多个步骤,包括创建Docker Swarm集群、生成CA证书、创建Docker overlay网络、创建容器等。以下是一个详细的部署例子:

  1. 创建Docker Swarm集群

    • 在三台主机上安装Docker。
    • 在swarm-master上初始化Swarm:docker swarm init --advertise-addr <master-ip>
    • 将worker节点加入到swarm中:docker swarm join --token <token> <master-ip>:2377
  2. 生成CA证书

    • 在swarm-master上创建SSL证书:mkdir -p /data/ssl && cd /data/ssl && openssl genrsa 2048 > ca-key.pem
    • 创建证书签名请求:openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem
    • 创建服务端和客户端证书。
  3. 创建Docker overlay网络

    • 在swarm-master上创建一个overlay网络:docker network create -d overlay --attachable swarm_mysql
  4. 创建容器

    • 初始化集群,创建第一个节点(PXC1):docker run -d --name=pn1 --net=swarm_mysql --restart=always -p 9001:3306 --privileged -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=<mypass> -e CLUSTER_NAME=PXC1 -v /data/ssl:/cert -v mysql:/var/lib/mysql/ -v /data/ssl/cert:/etc/percona-xtradb-cluster.conf.d percona/percona-xtradb-cluster:8.0
    • 创建第二个节点(PXC2):docker run -d --name=pn2 --net=swarm_mysql --restart=always -p 9001:3306 --privileged -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=<mypass> -e CLUSTER_NAME=PXC1 -e CLUSTER_JOIN=pn1 -v /data/ssl:/cert -v mysql:/var/lib/mysql/ -v /data/ssl/cert:/etc/percona-xtradb-cluster.conf.d percona/percona-xtradb-cluster:8.0
    • 创建第三个节点(PXC3):docker run -d --name=pn3 --net=swarm_mysql --restart=always -p 9001:3306 --privileged -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=<mypass> -e CLUSTER_NAME=PXC1 -e CLUSTER_JOIN=pn1 -v /data/ssl:/cert -v mysql:/var/lib/mysql/ -v /data/ssl/cert:/etc/percona-xtradb-cluster.conf.d percona/percona-xtradb-cluster:8.0
  5. 高可用测试

    • 测试非master节点重启:docker restart pn2docker restart pn3
    • 测试master节点重启:docker restart pn1

如果master节点重启后无法正常启动,需要以成员方式重新加入集群。重建命令如下:

  • docker run -d --name=pn1 --net=swarm_mysql --restart=always -p 9001:3306 --privileged -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=<mypass> -e CLUSTER_NAME=PXC1 -e CLUSTER_JOIN=pn2 -v /data/ssl:/cert -v mysql:/var/lib/mysql/ -v /data/ssl/cert:/etc/percona-xtradb-cluster.conf.d percona/percona-xtradb-cluster:8.0

以上步骤提供了一个基本的框架,具体的命令可能需要根据实际情况进行调整。详细的部署说明可以参考优快云博客 。

喜欢本文,请点赞、收藏和关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

乔丹搞IT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值