简介
新的项目由于特殊的原因并不能使用rancher编排管理docker容器,只能使用常规的docker容器环境,其中就涉及到部署MySQL数据库的集群;在以前的思路中最为常见的就是MySQL主从,MySQL读写分离,但最近发现有了一种新的MySQL集群部署方式PXC;简而言之PXC集群没有主次之分,都是读写,部分从属关系,都是负载节点,至少三个节点以上;至于优缺点以后在实际运用中慢慢验证。
配置环境
系统:Centos 7.6 X86
软件:docker 19.03
镜像:percona/percona-xtradb-cluster:5.6
跨主机插件:overlay
重要步骤
1.创建docker跨主机网络环境
详情可以见传送门
2.创建第一个节点
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 --privileged=true --name=pxc-node1 --net=dbpxc percona/percona-xtradb-cluster:5.6
CLUSTER_NAME—集群名称,后续新加入节点都要保持一致
XTRABACKUP_PASSWORD—集群同步的密码,后续新加入节点都要保持一致
关于网络设置以及持续化存储可以根据实际情况修改
3.加入节点
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=pxc-node1 --privileged=true --name=pxc-node2 --net=dbpxc percona/percona-xtradb-cluster:5.6
CLUSTER_JOIN—加入第一个节点的集群之中,请注意这个地方请填写pxc-node1的IP地址,不然其他的节点是无法通过docker名称寻找到真正的节点信息。
4.测试是否成功开启集群
在一个节点创建一个数据库,查看另外的节点是否会同步