Docker配置MySQL集群

1、安装MySQL集群PXC镜像

1
docker pull percona/percona-xtradb-cluster:5.7

2、创建docker内部网段

1
docker network create pxc-network

3、创建数据卷

1
2
3
4
5
6
//对应五节点集群方案
docker volume create v1
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5

4、创建容器并运行

1
2
3
4
5
6
7
8
9
10
11
//替换自己的mysql密码
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=你设定的mysql密码 -e CLUSTER_NAME=cluster1 -v v1:/var/lib/mysql --name=node1 --net=pxc-network percona/percona-xtradb-cluster:5.7

//主节点启动后经测试链接正常后,再创建其以下节点
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=你设定的mysql密码 -e CLUSTER_NAME=cluster1 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql --name=node2 --net=pxc-network \percona/percona-xtradb-cluster:5.7

docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=你设定的mysql密码 -e CLUSTER_NAME=cluster1 -e CLUSTER_JOIN=node1 -v v3:/var/lib/mysql --name=node3 --net=pxc-network \percona/percona-xtradb-cluster:5.7

docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=你设定的mysql密码 -e CLUSTER_NAME=cluster1 -e CLUSTER_JOIN=node1 -v v4:/var/lib/mysql --name=node4 --net=pxc-network \percona/percona-xtradb-cluster:5.7

docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=你设定的mysql密码 -e CLUSTER_NAME=cluster1 -e CLUSTER_JOIN=node1 -v v5:/var/lib/mysql --name=node5 --net=pxc-network \percona/percona-xtradb-cluster:5.7

5、云服务器安全组端口开放

image-20240412132606413

6、检查运行情况

6.1 检查容器内运行情况

1
docker ps -a

image-20240412133313368

6.2 检查数据库链接情况

image-20240412133514624