常见mysql集群
1、PXC (同步传输)只支持InndoDB
2、Replication (异步传输)
搭建PXC集群
docker pull percona/percona-xtradb-cluster:5.7.21
docker tag percona/percona-xtradb-cluster:5.7.21 pxc
docker rmi percona/percona-xtradb-cluster:5.7.21
PXC主节点容器
第一个启动的PXC节点是主节点,他要初始化PXC集群。
等到PXC启动后,就没有PXC主节点这个角色了。
PXC集群中每一个节点都是可读写的,不分主次。
创建主节点容器
docker run -d -p 9001:3306 \
-e MYSQL_ROOT_PASSWORD=abc123456 \
-e CLUSTER_NAME=PXC1 \
-e XTRBACKUP_PASSWORD=abc123456 \
-v pnv1:/var/lib/mysql --privileged \
--name pn1 --net swarm_mysql pxc
必须主节点可以访问了才可以创建从节点
创建从节点容器
docker run -d -p 9001:3306 \
-e MYSQL_ROOT_PASSWORD=abc123456 \
-e CLUSTER_NAME=PXC1 \
-e XTRBACKUP_PASSWORD=abc123456 \
-e CLUSTER_JOIN=pn1 \
-v pnv2:/var/lib/mysql --privileged \
--name pn2 --net swarm_mysql pxc
数据卷管理
docker volume ls 数据卷列表
docker volume create test #创建数据卷
docker volume rm test #删除数据卷
docker volume prune #清除没有挂在的数据卷
docker volume inspect pn1 #查看数据卷详情