pxc集群
大约 1 分钟
配套仓库地址:https://gitee.com/orangbus/mysql-cluster
pxc集群
https://hub.docker.com/r/perconalab/percona-xtradb-cluster
docker pull perconalab/percona-xtradb-cluster
重命名
docker tag docker.io/perconalab/percona-xtradb-cluster pxc
docker rmi docker.io/perconalab/percona-xtradb-cluster
3节点的集群
创建网段
docker network create pxc1
docker network inspect pxc1
docker network rm pxc1
//or
docker network create --subnet=127.18.0.0.0/24 pxc
docker卷
docker volume create --name v1
docker inspect v1
docker volume rm v1
创建一个容器
docker run -d -p 3306:3306
-v v1:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=admin666
-e CLUSTER_NAME=PXC
-e XTRABACKUP_PASSWORD=slave666 # 同步的密码
- privileged
--name=node1
--net=net1
--ip=172.18.0.2 pxc
创建3节点pxc集群
网络
docker network create pxc
持久存储卷
docker volume create --name=v1
docker volume create --name=v2
docker volume create --name=v3
节点
docker run -d -p 3306:3306
-v v1:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-e CLUSTER_NAME=PXC
-e XTRABACKUP_PASSWORD=123456
- privileged
--name=node1
--net=pxc
--ip=172.18.0.2 pxc
docker run -d -p 3307:3306
-v v2:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-e CLUSTER_NAME=PXC
-e XTRABACKUP_PASSWORD=123456
-e CLUSTER_JOIN=node1
- privileged
--name=node2
--net=pxc
--ip=172.18.0.3 pxc
docker run -d -p 3308:3306
-v v3:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-e CLUSTER_NAME=PXC
-e XTRABACKUP_PASSWORD=123456
-e CLUSTER_JOIN=node1
- privileged
--name=node3
--net=pxc
--ip=172.18.0.4 pxc
----
docker run -d -p 3306:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 - privileged --name=node1 --net=pxc --ip=172.18.0.2 pxc
------ 实际执行
docker network create --subnet=172.30.0.0/24 pxc
docker run -d -p 3316:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 --privileged --name=node1 --net=pxc --ip=172.30.0.2 pxc
docker run -d -p 3317:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=node1 --privileged --name=node2 --net=pxc --ip=172.30.0.3 pxc
docker run -d -p 3318:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=node1 --privileged --name=node3 --net=pxc --ip=172.30.0.4 pxc
PXC-故障恢复
重启
单节点恢复
删除之前的节点,已新节点的方式加入到其他任意一个节点,