docker pull percona/percona-xtradb-cluster:5.7.21
02 复制pxc镜像(实则重命名)
docker tag percona/percona-xtradb-cluster:5.7.21 pxc
03 删除pxc原来的镜像
docker rmi percona/percona-xtradb-cluster:5.7.21
04 创建一个单独的网段,给mysql数据库集群使用
(1)docker network create --subnet=172.18.0.0/24 pxc-net
(2)docket network inspect pxc-net [查看详情]
(3)docker network rm pxc-net [删除]
05 创建和删除volume
创建:docker volume create --name v1
删除:docker volume rm v1
查看详情:docker volume inspect v1
06 创建单个PXC容器demo
[CLUSTER_NAME PXC集群名字]
[XTRABACKUP_PASSWORD数据库同步需要用到的密码]
docker run -d -p 3301:3306
-v v1:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=jack123
-e CLUSTER_NAME=PXC
-e XTRABACKUP_PASSWORD=jack123
--privileged --name=node1 --net=pxc-net --ip 172.18.0.2
pxc
07 搭建PXC[MySQL]集群
(1)准备3个数据卷
docker volume create --name v1
docker volume create --name v2
docker volume create --name v3
(2)运行三个PXC容器
docker run -d -p 3301:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root123 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=root123 --privileged --name=node1 --net=pxc-net --ip 193.168.0.2 pxc
[CLUSTER_JOIN将该数据库加入到某个节点上组成集群]
docker run -d -p 3302:3306 -v v2:/var/lib/mysql -e
MYSQL_ROOT_PASSWORD=root123 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=root123 -e CLUSTER_JOIN=node1 --privileged --name=node2 --net=pxc-net --ip 193.168.0.3 pxc
docker run -d -p 3303:3306 -v v3:/var/lib/mysql -e
MYSQL_ROOT_PASSWORD=root123 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=root123 -e CLUSTER_JOIN=node1 --privileged --name=node3 --net=pxc-net --ip 193.168.0.4 pxc
(3)MySQL工具连接测试
Jetbrains Datagrip
sqlYoung
Navicat等工具连接测试
数据库的负载均衡
(1)拉取haproxy镜像
docker pull haproxy
(2)创建haproxy配置文件,这里使用bind mounting的方式