MYSQL高可用集群搭建--docker

发布于:2025-07-26 ⋅ 阅读:(18) ⋅ 点赞:(0)

使用docker搭建高可用mysql集群

拉取percona-xtradb-cluster的镜像

docker pull percona/percona-xtradb-cluster:5.7.21

tag一下

docker tag percona/percona-xtradb-cluster:5.7.21 pxc
docker images

创建一个单独的网段,给mysql数据库集群使用

docker network create --subnet=172.19.0.0/24 pxc-cluster-net
docker network ls
docker network inspect pxc-cluster-net

创建volume,为了给3个container持久化数据使用

docker volume create pxc-v1
docker volume create pxc-v2
docker volume create pxc-v3
docker volume ls

创建node1容器

docker run -d --name=node1 -p 3301:3306 -v pxc-v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jack666 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=jack666 --net=pxc-cluster-net --privileged pxc
docker run -d --name=node2 -p 3302:3306 -v pxc-v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jack666 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=jack666 --net=pxc-cluster-net -e CLUSTER_JOIN=node1 pxc
docker run -d --name=node3 -p 3303:3306 -v pxc-v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jack666 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=jack666 --net=pxc-cluster-net -e CLUSTER_JOIN=node1 pxc

如果创建容器失败,清空数据卷内容并删除容器

[root@k8s ~]# docker stop node1
node1
[root@k8s ~]# docker rm -f node1
node1
[root@k8s ~]# rm -rf /data/app/dockerWork/volumes/pxc-v1/_data/*

创建成功后集群搭建成功

mysql -uroot -pjack666
create database jvue;

在主节点创建数据库,自动同步副节点

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到