组复制官方翻译七、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
目录
相关文章
|
1月前
|
数据处理 Python
Python官方发布的《Python标准库参考》,共2018页,建议收藏!
Python之所以牛,其中很大一部分原因就是因为它是一种“内置电池”的编程语言。它的标准库功能强大,开箱即用,省去了很多安装工具、配置环境的时间。 如果你想精通Python,对标准库熟悉是必要的一步。那如何能尽快熟悉标准库呢?把《Python标准库参考手册》常备身边是最好的办法。没事的时候随便翻翻,就能获得意想不到的收获和进步。
|
2月前
|
Shell 开发工具 git
[oeasy]python019_ 如何在github仓库中进入目录_找到程序代码_找到代码
本文档介绍了如何在终端环境下使用Git克隆仓库后,通过`cd`、`pwd`和`ls`命令导航并找到下载的文件。首先,使用`ls`查看当前目录,然后通过`cd`逐层进入目标文件夹,最后到达包含游戏文件game.py的位置。文章还提到了如果`git clone`失败,可以直接进行下一节实验。
25 0
|
2月前
|
Java Windows Spring
IDEA中报错:因为在此系统上禁止运行脚本有关详细信息,请参阅...(图文解释 亲测已解决)
IDEA中报错:因为在此系统上禁止运行脚本有关详细信息,请参阅...(图文解释 亲测已解决)
167 0
|
Linux Docker Windows
用过都说好--Docker内置命令中英文对照常用参考地址
docker --help 在Linux环境里输入docker --help
117 0
|
IDE 开发工具 C++
VS Code 下载、安装及切换中文和安装C++ 模块
最近趁着疫情,想着找人聊聊天,规划一下自己的人生,聊完发现,这两年就是温水煮青蛙,现在自己的编码能力已经弱到不要不要的了,这节奏就是要完的节奏。
227 0
VS Code 下载、安装及切换中文和安装C++ 模块
Geany包含中文运行报错解决办法
Geany包含中文运行报错解决办法
165 0
Geany包含中文运行报错解决办法
|
API 索引
开发一个简单的工具,导出github仓库所有issue列表
开发一个简单的工具,导出github仓库所有issue列表
326 0
开发一个简单的工具,导出github仓库所有issue列表
|
开发工具 git 芯片
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
550 0
CH2601 CDK工具git配置错误demo无法下载问题及flash download失败问题记录,新手必看~
一个Java实现的工具,能下载Github issue里包含的图片到本地
一个Java实现的工具,能下载Github issue里包含的图片到本地
114 0
|
关系型数据库 MySQL
组复制官方翻译三、Getting Started
https://dev.mysql.com/doc/refman/8.0/en/group-replication-getting-started.html MGR 作为一个Server插件提供支持的,每个group的server都需要配置和加载这个插件这一章主要教大家在三节点的MGR环境下,怎么一步步搭建起来的 18.
1365 0