基于Docker搭建Percona XtraDB Cluster数据库集群

本文实验的环境参数

  • 阿里云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的官方文档

接下来搭建三个容器节点

  1. 创建外部不可访问的Docker内部网络,使用端口映射开放外部访问

    docker network create pxc-network
  2. 创建容器

    docker volume create v1
    docker volume create v2
    docker volume create v3
  3. 创建第一个节点(因为初始化集群,所以需要等待一会,在创建第二个节点)

    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
  4. 创建第二个节点并加入集群

    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
  5. 创建第三个节点并加入集群

    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
  6. 使用Navicat等客户端工具访问上面上个节点的数据库,地址是宿主机的地址,端口是每个节点映射的端口,然后创建数据库测试PXC运行情况。
参考资料:PXC官方文档

相关推荐