组复制官方翻译七、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
目录
相关文章
|
6月前
|
数据处理 Python
Python官方发布的《Python标准库参考》,共2018页,建议收藏!
Python之所以牛,其中很大一部分原因就是因为它是一种“内置电池”的编程语言。它的标准库功能强大,开箱即用,省去了很多安装工具、配置环境的时间。 如果你想精通Python,对标准库熟悉是必要的一步。那如何能尽快熟悉标准库呢?把《Python标准库参考手册》常备身边是最好的办法。没事的时候随便翻翻,就能获得意想不到的收获和进步。
|
存储 机器学习/深度学习 缓存
DVC 使用指南:常用术语
依赖(Dependency):记录在 Stage 的deps部分(在 dvc.yaml 中)或 .dvc 文件中的文件或目录(可能由DVC跟踪)。请参阅 dvc run。当任何依赖项发生变化时,Stage 就会失效(被认为已过时)。
|
存储 机器学习/深度学习 API
快速入门DVC(四):下载数据与模型文件
你可能会有如下的问题: 我们如何在项目之外使用这些制品? 我们如何下载模型来部署它? 我们如何下载特定版本的模型? 我们如何在不同的项目中重用数据集?
|
Linux Docker Windows
用过都说好--Docker内置命令中英文对照常用参考地址
docker --help 在Linux环境里输入docker --help
141 0
|
数据可视化 开发工具 uml
Markdown 拓展:Gitlab/Github 开启 UML 图支持
为什么需要它 一些可视化工具再给我们带来直观性的同时,也增加了操作的难度,需要精细地调整组件的大小和样式,更多的时候,我们不是为了写一份漂亮的报告而画流程图,只是需要便捷地向他人分享自己的 idea,在这样的需求下,代码生成流程图显然更适合。
845 0
|
开发工具 git 芯片
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
585 0
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
|
运维 Kubernetes 安全
Helm 用户指南-系列(8)-安全安装-完结篇
安全安装 Helm是一款强大而灵活的Kubernetes软件包管理和运维工具。使用默认安装命令helm init 可以快速轻松地安装它和 Tiller(Helm相对应的服务端组件)。 但是,默认安装没有启用任何安全配置。
1430 0
|
JavaScript C++ 自然语言处理
VS Code英汉词典v0.0.8: 批量翻译文件部分命名
实现VS code插件, 基于本地词典数据, 提供英汉翻译功能, 添加批量命名翻译功能. Improve vscode extension to translate English word or phrase to Chinese, by supporting translating all identifiers in a file.
1720 0
|
关系型数据库 MySQL
组复制官方翻译三、Getting Started
https://dev.mysql.com/doc/refman/8.0/en/group-replication-getting-started.html MGR 作为一个Server插件提供支持的,每个group的server都需要配置和加载这个插件这一章主要教大家在三节点的MGR环境下,怎么一步步搭建起来的 18.
1386 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 ...
1556 0