编程技术分享平台

网站首页 > 技术教程 正文

Docker部署mysql集群之PXC(nginx负载均衡)

xnh888 2024-10-12 13:25:33 技术教程 19 ℃ 0 评论


1、先安装好docker环境

2、docker 镜像操作

//mysql 8.0多版本
docker pull percona/percona-xtradb-cluster 
//重命名
docker tag percona/percona-xtradb-cluster pxc
//删除镜像
docker rmi percona/percona-xtradb-cluster 

3、docker 创建网段

docker network create --subnet=172.18.0.0/24 pxc-net

4、docker 创建数据卷

docker volume create v1
docker volume create v2
docker volume create v3

5、docker 创建容器

docker run -d -p 3301:3306 -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC-CLUSTER -e XTRABACKUP_PASSWORD=root -v v1:/var/lib/mysql -v cf1:/etc/mysql  --privileged --name=node1 --net=pxc-net --ip 172.18.0.81 pxc
docker run -d -p 3302:3306 -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC-CLUSTER -e XTRABACKUP_PASSWORD=root -v v3:/var/lib/mysql -v cf2:/etc/mysql  --privileged --name=node2 --net=pxc-net --ip 172.18.0.82 pxc
docker run -d -p 3303:3306 -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC-CLUSTER -e XTRABACKUP_PASSWORD=root -v v3:/var/lib/mysql -v cf3:/etc/mysql  --privileged --name=node2 --net=pxc-net --ip 172.18.0.83 pxc

6、docker pxc ssl通信问题解决

vi /etc/mysql/node.cnf
添加 pxc-encrypt-cluster-traffic=OFF
有几个容器加几下

7、重启容器

8、如遇到服务器重启

进入主节点

找到 grastate.dat

safe_to_bootstrap 1

启动主节点

再启动从节点

9、nginx 负载均衡设置

stream {
    upstream backend {
        server 172.18.0.81:3306 weight=5;
        server 172.18.0.82:3306 weight=1;
        server 172.18.0.83:3306 weight=1;
    }

    server {
        listen 389;
        proxy_pass backend;
    }
}

然后重启

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表