先决条件

  1. 使用InnoDB存储引擎
  2. 每个表都必须有主键
  3. 网络性能

使用限制

  1. MGR是基于GTID的,继承GTID的相关限制
  2. mgr最大组员数量为9
  3. 不支持 --upgrade=MINIMAL参数
  4. gap locks 。 验证进程不处理gap locks 
    除非应用程序必须使用repeatable read场景,建议使用read committed隔离级别,在read committed隔离级别下,InnoDB不使用gap locks。
  5. Table locks和Named locks。验证进程不处理表锁或named locks
  6. Replication Event Checksums。由于复制事件校验和的设计限制,组复制当前无法使用它们。所以,设置 --binlog-checksum=NONE
  7. 序列化隔离级别。在多主情况下,不支持序列化事务隔离级别。如果设置为了此级别,组复制将拒绝提交事务。
  8. 并发DDL以及DML。多主模式下,不支持在不同节点上同时对同一对象进行DDL。在对象上执行数据定义语言(DDL)语句的过程中,在同一对象上但在不同服务器实例上执行并发数据操作语言(DML)可能会导致未检测到在不同实例上执行的DDL冲突的风险。
  9. 多主模式下不支持有级联约束的外键。
  10. 多主模式死锁 。多主模式下,select ... for update会导致死锁。
  11. 不支持全局复制筛选器。会导致群组不能达成一致状态。
  12. Encrypted Connections
  13. 事务大小限制,过大的事务会导致节点被驱逐。


  • No labels