本文实验的环境参数
- 阿里云ECS Centos7.5
- Docker version 18.06.0-ce
- percona/percona-xtradb-cluster:5.7
Percona XtraDB Cluster的镜像下载地址:https://hub.docker.com/r/percona/percona-xtradb-cluster/
怎么使用Docke和下载镜像,请查看Docker的官方文档
接下来搭建三个容器节点
-
创建外部不可访问的Docker内部网络,使用端口映射开放外部访问
docker network create pxc-network
-
创建容器
docker volume create v1 docker volume create v2 docker volume create v3
-
创建第一个节点(因为初始化集群,所以需要等待一会,在创建第二个节点)
docker run -d \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=abc123456 \ -e CLUSTER_NAME=PXC \ -e XTRABACKUP_PASSWORD=abc123456 \ -v v1:/var/lib/mysql \ --privileged \ --name=node1 \ --net=pxc-network \ percona/percona-xtradb-cluster:5.7
-
创建第二个节点并加入集群
docker run -d \ -p 3307:3306 \ -e MYSQL_ROOT_PASSWORD=abc123456 \ -e CLUSTER_NAME=PXC \ -e XTRABACKUP_PASSWORD=abc123456 \ -e CLUSTER_JOIN=node1 \ -v v2:/var/lib/mysql \ --privileged \ --name=node2 \ --net=pxc-network \ percona/percona-xtradb-cluster:5.7
-
创建第三个节点并加入集群
docker run -d \ -p 3308:3306 \ -e MYSQL_ROOT_PASSWORD=abc123456 \ -e CLUSTER_NAME=PXC \ -e XTRABACKUP_PASSWORD=abc123456 \ -e CLUSTER_JOIN=node1 \ -v v3:/var/lib/mysql \ --privileged \ --name=node3 \ --net=pxc-network \ percona/percona-xtradb-cluster:5.7
- 使用Navicat等客户端工具访问上面上个节点的数据库,地址是宿主机的地址,端口是每个节点映射的端口,然后创建数据库测试PXC运行情况。
参考资料:PXC官方文档