版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010505805/article/details/82531280
PXC集群
PXC集群官网 http://hub.docker.com/r/percona/percona-xtradb-cluster
安装PXC集群
docker pull percona/percona-xtradb-cluster
更改容器的名字
docker tag docker.io/percona/percona-xtradb-cluster pxc 修改容器的名字
创建集群所需网段
docker network create --subnet=172.18.0.0/24 net1 创建net1的网段,ip为172.18.0.0
docker inspect net1 查看net1网段的信息
docker network rm net1 删除网段
创建集群所需docker卷
docker 数据卷
创建容器中PXC节点映射数据目录的解决办法
docker volume create v1 #创建数据卷
docker inspect v1 #查看数据卷在数簇机真实的位置
docker volume rm v1 #删除docker 卷
创建PXC容器
只需要向PXC镜像传入运行参数就能创建出PXC容器
docker run -d -p 3306:3306
-v v1:/var/lib/mysql #路径映射
-e MYSQL_ROOT_PASSWORD =abc123456
-e CLUSTER_NAME=PXC #集群名称
-e XTRABACKUP_PASSWORD=abc123456 #数据库同步密码
--privileged --name=node1 --net=net1 --ip 172.18.0.2 #给权限 以及名字 网段
示例:
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5
创建mysql集群
docker run -d -p 3306:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc
docker run -d -p 3307:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc
docker run -d -p 3308:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc
docker run -d -p 3309:3306 -v v4:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc
docker run -d -p 3310:3306 -v v5:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc