mysql mgr单主模式_7. MySQL组复制(MGR)全解析 Part 7 单主和多主模式介绍

前期回顾

这期的专题我们来介绍MySQL组复制相关的内容

主机名

业务IP

私有IP

复制用户

角色

rac1

11.12.14.29

10.10.10.11

rpl

rac2

11.12.14.30

10.10.10.12

rpl

rac3

11.12.14.39

10.10.10.13

rpl

上节我们说了MGR环境的监控,这节的内容介绍MGR单主和多主的一些知识

1.两种模式简介

MGR可以工作在两种模式下

单主模式(single-primary mode)

多主模式(multi-primary mode)

默认的模式为单主模式,一个组内不能同时有多种模式存在

如果需要切换,我们需要以不同的配置来重启组而不是数据库

MGR不处理客户端的fail over

当我们需要部署成多主模式,会需要强制检查一些语句防止冲突的发生

通过设置group_replication_enforce_update_everywhere_checks 参数来设置

数据库不能处于SERIALIZABLE 隔离级别,否则提交会出错

如果事务对foreign keys with cascading constraints的表进行修改,则提交也会失败

2.单主模式

单主模式中只有第一台是读写模式的,其他的都会是只读模式(super-read-only=ON )

主库一般是引导组的那个,后续加入的组会通主库进行通信然后设置为只读

d28f6f9b98eea0c34c47d7a6129d295f.png

当组处于单主模式时,一些在多主模式下不允许的操作是可以进行的,如修改带有级联约束的外键的表

当主库故障时,选举进程(election process) 根据group_replication_member_weight的值来选择新的主库

75bbef82a90240cb60cad8eae42039d2.png

我们假设组中所有成员的数据库版本是一致的,则group_replication_member_weight的值最高的被选举为新的主库,如果该值一致则按照uuid的词典排序,选择最先的那个,这时该数据库被设置为读写。

新的主库只会在同步完旧的主库的事务后才会设置为读写

如果组中的成员数据库版本不一致的情况下,比如不支持group_replication_member_weight参数,则此时只会根据uuid来选择,如果所有的数据库都支持该参数,则和上面版本都一致的选举方式一致

3. 多主模式

多主模式下所有数据库都是读写模式

5560076529c6acfada7ab32dfa37401d.png

4. 参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值