MySQL 异步复制源自动故障转移

1 异步复制源架构

1.1基于主从复制的异步复制源

从MySQL 8.0.22开始支持异步连接故障转移机制,我们可以在一套主从复制架构的基础上,创建一个异步复制连接的Replica副本,当主从复制Source发生意外宕机,业务提升Replica为新的Source对外进行服务,异步连接Replica可自动检测主从架构源端连接异常,并重新指向新的Source进行数据复制。

架构图与流程展示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HdW7iTl7-1646883045164)(https://secure2.wostatic.cn/static/oyvtCAUHVjyz2P1CipNdML/image.png)]

  • Source 、Replica为正常的主从复制架构,Async Replica为通过异步连接的复制副本
  • 当主从复制架构中Source意外宕机,业务提升主从架构下Replica为New Source对外提供业务服务
  • Async Replica检测连接原Source失败,将主从复制重新指向新的New Source进行数据复制

1.2 基于组复制的异步复制源

从MySQL 8.0.23开始支持对组复制的异步连接故障转移机制,异步连接副本的复制源添加组复制成员并定义为组管理后,异步连接副本可自动检测源MGR架构下的组复制角色(Prinary or Secondary),当组复制成员进行更新时,异步复制副本可自动更新复制源列表中的组成员信息。当异步连接复制节点复制源不可用时,自动切换选择组复制内可用节点进行复制。

架构图与流程展示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K8h1Hu7L-1646883045165)(https://secure2.wostatic.cn/static/fgKCzbBFvS2KK9Q72F3XTF/image.png)]

  • MGR单组架构下,新建一个Async Replica从组复制中Primary节点进行数据复制
  • 当MGR架构中Primary节点宕机,MGR自身failover机制会选举某一Secondary节点为New Pirmary节点
  • 异步连接Async Replica节点连接 Down Primary失败,自动检测组复制角色以及权重,选择可用节点为新的Source节点进行数据复制

2 异步连接failover前提与基本命令

2.1 前提

  • 复制源与副本都需要开启GTID,方面搭建复制时使用auto_position模式(创建复制通道时使用 SOURCE_AUTO_POSITION | MASTER_AUTO_POSITION 参数)
  • 异步连接复制对应的复制源中,所有节点都需要保持复制用户账号密码一致,方便进行复制源切换
  • 复制用户额外授予以下权限
GRANT SELECT ON performance_schema.* TO 'repl_user';

2.2 基本命令

1、创建复制通道

mysql> CHANGE REPLICATION SOURCE TO MASTER_USER='rpl'         # 复制源用户
, MASTER_PASSWORD='123'                                       # 复制源密码
, MASTER_HOST='172.16.104.12', MASTER_PORT=3307               # 复制源IP、端口
, SOURCE_CONNECTION_AUTO_FAILOVER=1                           # 复制源
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值