docker-compose来搭建PXC集群

1. 说明

当我们使用MySQL主从复制时候,你可能已经意识到数据同步并没有强一致性,是异步执行。那么这样就会可能出现数据的丢失以及查询数据的时候,从库还没有复制成功的情况😭
正对这样的情况,我采用了PXC集群,它具有强一致性、无同步延迟。

2. 创建文件目录结构

# 创建文件结构
cd /usr/local/docker
mkdir pxc
cd pxc
mkdir data master follower
# 创建数据卷
cd data
mkdir v1 v2 v3
# 设置权限
chmod 777 v1 v2 v3

3. 创建master节点

cd /usr/local/docker/pxc/master
vim docker-compose.yml
version: '3'
services:
  pxc01:
    restart: always
    image: percona/percona-xtradb-cluster:5.7
    container_name: pxc01
    privileged: true
    ports:
      - 13306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - CLUSTER_NAME=pxc
    volumes:
      - ../data/v1:/var/lib/mysql

networks:
  default:
    external:
      name: mysql_network

4. 创建follower节点

cd /usr/local/docker/pxc/follower
vim docker-compose.yml
version: '3'
services:
  pxc02:
    restart: always
    image: percona/percona-xtradb-cluster:5.7
    container_name: pxc02
    privileged: true
    ports:
      - 13307:3306
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - CLUSTER_NAME=pxc
      - CLUSTER_JOIN=pxc01
    volumes:
      - ../data/v2:/var/lib/mysql

  pxc03:
    restart: always
    image: percona/percona-xtradb-cluster:5.7
    container_name: pxc03
    privileged: true
    ports:
      - 13308:3306
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - CLUSTER_NAME=pxc
      - CLUSTER_JOIN=pxc01
    volumes:
      - ../data/v3:/var/lib/mysql

networks:
  default:
    external:
      name: mysql_network

5. 注意事项

  1. 一定要等到master节点起来,在进行启动follower节点不然会出现各个节点之间不能相互注册。
  2. PXC节点不能太多,不然会把整体的性能下降。
  3. PXC节点之间的服务器配置一致。
  4. PXC集群只支持innoDB引擎。
  5. PXC内节点都会参与到读写操作。需要注意的是与Mycatschema.xml配置中balance='2'

6. 相关图例

6.1 连接PXC节点

在这里插入图片描述

6.2 查看PXC集群是否相互注册成功

show status like 'wsrep_cluster%'
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值