一、下载pxc镜像文件

docker pull percona/percona-xtradb-cluster:5.7.30

二、创建文件夹,用于容器挂载

#创建 pxc文件夹
mkdir -p /data/pxc
#进入pxc文件夹
cd /data/pxc
#创建 v1 等文件夹
mkdir -p v1 v2 v3 master agent
#对/data/pxc/目录及所有子目录授权
chmod 777 -R /data/pxc

三、创建bridge网络

docker network create pxc_network --driver bridge

四、创建 第一个docker-compose.yml 文件

version: '3'
services:
  pxc01:
    restart: always
    image: percona/percona-xtradb-cluster:5.7.30
    container_name: pxc01
    privileged: true
    ports:
    - 4401:3306
    environment:
      - MYSQL_ROOT_PASSWORD=admin
      - CLUSTER_NAME=pxc
    volumes:
    - /data/pxc/v1:/var/lib/mysql
networks:
  default:
    external:
      name: pxc_network

五、上传至/data/px/master 目录 执行一下目录

#切换至 /data/px/master
docker-compose up -d

六、等待第一个节点启动后 创建第二个docker-compose.yml文件

version: '3'
services:
  pxc02:
    restart: always
    image: percona/percona-xtradb-cluster:5.7.30
    container_name: pxc02
    privileged: true
    ports:
      - 4402:3306
    environment:
      - MYSQL_ROOT_PASSWORD=admin
      - CLUSTER_NAME=pxc
      - CLUSTER_JOIN=pxc01
    volumes:
      - /data/pxc/v2:/var/lib/mysql
  pxc03:
    restart: always
    image: percona/percona-xtradb-cluster:5.7.30
    container_name: pxc03
    privileged: true
    ports:
      - 4403:3306
    environment:
      - MYSQL_ROOT_PASSWORD=admin
      - CLUSTER_NAME=pxc
      - CLUSTER_JOIN=pxc01
    volumes:
      - /data/pxc/v3:/var/lib/mysql
networks:
  default:
    external:
      name: pxc_network

七、上传至/data/px/agent目录 执行一下目录

#切换至 /data/px/agent
docker-compose up -d

八、使用navicat工具 分别连上三个节点,进行DDL操作,查看同步是否成功

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐