组复制官方翻译七、Requirements and Limitations

简介: https://dev.mysql.com/doc/refman/8.0/en/group-replication-requirements-and-limitations.html关于Group Replication System Variables这一节没有讲,主要是变量属于工具类,需要查看的时候去搜一下即可https://dev.

https://dev.mysql.com/doc/refman/8.0/en/group-replication-requirements-and-limitations.html

关于Group Replication System Variables这一节没有讲,主要是变量属于工具类,需要查看的时候去搜一下即可

https://dev.mysql.com/doc/refman/8.0/en/group-replication-options.html

18.8.1 Group Replication Requirements

需要使用MGR的实例必须满足如下要求

基础设施

  • InnoDB存储引擎
  • 主键
  • 网络性能

实例配置

  • 开启binlog
  • log-slave-update=on
  • binlog必须是row格式
  • GTID=on
  • 复制信息必须以table存储 --master-info-repository=TABLE and --relay-log-info-repository=TABLE
  • 事务写集 --transaction-write-set-extraction=XXHASH64
  • 多线程复制开启
1.  slave_parallel_type=LOGICAL_CLOCK
2.  slave_preserve_commit_order=1
3.  slave_parallel_workers= (0~1024)  ## 可以配置使用多线程,也可以不使用多线程

18.8.2 Group Replication Limitations

下面列了一些已知的MGR的限制

注意:由于MGR是在GTID的基础上构建的,所以GTID的限制也同样是MGR的限制 Section 17.1.3.6, “Restrictions on Replication with GTIDs”.

  • 复制event的checksums --binlog-checksum=NONE
由于设计的问题,MGR不能使用event的checksums

--binlog-checksum=NONE 必须这样设置
  • Gap locks , 建议设置隔离级别为 READ COMMITTED
由于认证阶段无法使用gap lock,所以建议使用隔离级别为READ COMMITTED,READ COMMITTED 不适用gap locks
  • SERIALIZABLE , MGR不支持SERIALIZABLE隔离级别
  • 并发DDL和DML在同一个对象上的操作,会有问题
举例:
    A实例 表t进行DDL
    B实例 表t进行dml
    会导致冲突无法检测到,会有很高的风险
    这种情况一般在multi-primary模式下容易遇到(因为多实例写嘛的原因嘛),所以DDL要特别小心
  • 外键级联约束
  • 大事务
在5秒钟的世界窗口中如果无法将事务copy到其他成员的话,那么MGR的通信会失败,重传,会有严重影响
建议切分、限制 事务大小
  • multi-primary的死锁检测
多主模式下,如果使用SELECT .. FOR UPDATE 会导致死锁

主要是lock无法跨越多服务器
  • 复制过滤
MGR中不要使用任何复制的filter
目录
相关文章
|
3月前
|
数据处理 Python
Python官方发布的《Python标准库参考》,共2018页,建议收藏!
Python之所以牛,其中很大一部分原因就是因为它是一种“内置电池”的编程语言。它的标准库功能强大,开箱即用,省去了很多安装工具、配置环境的时间。 如果你想精通Python,对标准库熟悉是必要的一步。那如何能尽快熟悉标准库呢?把《Python标准库参考手册》常备身边是最好的办法。没事的时候随便翻翻,就能获得意想不到的收获和进步。
|
存储 机器学习/深度学习 缓存
DVC 使用指南:常用术语
依赖(Dependency):记录在 Stage 的deps部分(在 dvc.yaml 中)或 .dvc 文件中的文件或目录(可能由DVC跟踪)。请参阅 dvc run。当任何依赖项发生变化时,Stage 就会失效(被认为已过时)。
|
Linux Docker Windows
用过都说好--Docker内置命令中英文对照常用参考地址
docker --help 在Linux环境里输入docker --help
131 0
|
Ubuntu NoSQL Redis
参考官网实例,用Dockerfile构建你的第一个python应用
使用前提:ubuntu系统上已经安装好了docker环境
644 0
参考官网实例,用Dockerfile构建你的第一个python应用
|
开发工具 git 芯片
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
568 0
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
一个Java实现的工具,能下载Github issue里包含的图片到本地
一个Java实现的工具,能下载Github issue里包含的图片到本地
123 0
|
关系型数据库 MySQL
组复制官方翻译三、Getting Started
https://dev.mysql.com/doc/refman/8.0/en/group-replication-getting-started.html MGR 作为一个Server插件提供支持的,每个group的server都需要配置和加载这个插件这一章主要教大家在三节点的MGR环境下,怎么一步步搭建起来的 18.
1376 0
|
前端开发
组复制官方翻译八、Frequently Asked Questions
https://dev.mysql.com/doc/refman/8.0/en/group-replication-frequently-asked-questions.html 一、MGR的成员数量最大是多少 最大9个 二、group中的成员是如何连接的 他们直接是通过peer-to-peer ...
1540 0
|
监控 安全 关系型数据库
组复制官方翻译一、Group Replication
https://dev.mysql.com/doc/refman/8.0/en/group-replication.html 目录 18.1 Group Replication Background 18.
1656 0
|
关系型数据库 MySQL
组复制官方翻译六、Upgrading Group Replication
https://dev.mysql.com/doc/refman/8.0/en/group-replication-upgrade.html 这个章节主要描述升级MGR的计划基本的升级MGR成员的方法基本跟单独的实例升级一样(可参考 Section 2.
1535 0