组复制官方翻译七、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
目录
相关文章
|
4月前
|
运维 Devops
阿里云云效操作报错合集之代码域使用codeup进行本地代码迁移提示 repository does not exist,是什么导致的
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
5月前
|
Java Windows Spring
IDEA中报错:因为在此系统上禁止运行脚本有关详细信息,请参阅...(图文解释 亲测已解决)
IDEA中报错:因为在此系统上禁止运行脚本有关详细信息,请参阅...(图文解释 亲测已解决)
393 0
|
Linux 测试技术 数据库
Python 一键上传下载&一键提交文件到SVN入基线工具
Python 一键上传下载&一键提交文件到SVN入基线工具
169 0
|
Linux Docker Windows
用过都说好--Docker内置命令中英文对照常用参考地址
docker --help 在Linux环境里输入docker --help
134 0
|
开发工具 git 芯片
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
570 0
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
一个Java实现的工具,能下载Github issue里包含的图片到本地
一个Java实现的工具,能下载Github issue里包含的图片到本地
125 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.
1706 0
|
关系型数据库 MySQL
组复制官方翻译三、Getting Started
https://dev.mysql.com/doc/refman/8.0/en/group-replication-getting-started.html MGR 作为一个Server插件提供支持的,每个group的server都需要配置和加载这个插件这一章主要教大家在三节点的MGR环境下,怎么一步步搭建起来的 18.
1378 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 ...
1544 0