返回顶部
首页 > 资讯 > 数据库 >MySQL组复制的要求和限制
  • 854
分享到

MySQL组复制的要求和限制

2024-04-02 19:04:59 854人浏览 独家记忆
摘要

本篇内容主要讲解“Mysql组复制的要求和限制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql组复制的要求和限制”吧!组复制的要求:1).InnoDB存

本篇内容主要讲解“Mysql组复制的要求和限制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习mysql组复制的要求和限制”吧!

组复制的要求:

1).InnoDB存储引擎:数据必须存储在事务型的InnoDB存储引擎中。事务以乐观形式执行,然后在提交前会检测冲突问题。如果有冲突,为了维护组中一致性,有些事务必须回滚。这意味着需要事务型的存储引擎。此外,InnoDB 存储引擎提供了一些额外的功能,它们结合组复制时能更好地管理和处理冲突。

2).Primary Keys:每张需要被组复制的表都必须显式定义一个主键。主键在判断事务是否冲突扮演极其重要的角色:通过主键来准确识别每个事务中修改了表中的哪些行。(实际上是将主机hash成写集,然后由certifier来并发事务之间的检测冲突性)

3).使用IPv4 地址:Mysql组复制使用的组通信引擎组件只支持 IPv4。因此,必须使用IPv4的网络

4).良好的网络性能:组复制设计的初衷是部署在集群环境中,集群中的节点相互之间都非常近,因此除了网络延迟,网络带宽也会影响组复制。

组复制的限制:

1).Replication Event Checksums:由于对复制事件校验的设计缺陷,目前组复制不能使用它们。因此,需要设置--binlog-checksum=NONE。

2).Gap Locks:在验证阶段中(certification process),不会考虑 Gap Locks,因此在 InnoDB 的外部无法获取任何关于Gap 的信息。

注意:除非你的应用程序或业务需求依赖于REPEATABLE READ(MySQL默认该隔离级别),否则建议在组复制中使用READ COMMITTED隔离级别。在READ COMMITTED隔离级别中,InnoDB基本上不会使用Gap Locks,这将使得InnoDB自带的冲突探测能和组复制的冲突探测相互对齐从而保持一致。

3).Table Locks and Named Locks:验证阶段(certification process)中不考虑表锁和命名锁(见get_lock())。

4).不支持 SERIALIZABLE 隔离级别:在多主模型下,默认不支持该隔离级别。如果在多主模型下设置了该隔离级别,将拒绝提交事务。

5).不支持并发的 DDL 和 DML 操作:不支持在多主模型下不同节点上同时执行DDL和DML修改同一对象。在某节点上对某对象执行DDL语句时,如果在其他节点同时执行DML修改该对象,将有一定风险探测到冲突。(译注:是 DDL+DML 的并发,DDL+DDL 的并发也不允许。这是因为MySQL中没有DDL事务,不能保证DDL的原子性,当DDL和DML同时操作某一个对象,可能DDL修改后,DML将因为对象结构的改变而无法执行,继而回滚)

6).不支持级联的外键约束:多主模型的组(所有节点都配置了group_replication_single_primary_mode=OFF)不支持多级外键依赖,特别是表上定义了级联的外键约束(CASCADING foreign key constraints)。这是因为多主模型下执行外键约束的级联操作可能会出现未检测到的冲突,从而导致组内成员间数据不一致。因此,我们推荐在使用多主模型时,在每个节点上都设置group_replication_enforce_update_everywhere_checks=ON以避免出现未检测到的冲突。在单主模型下没有这种问题,因为没有并发写操作,从而不可能会出现未被探测到的冲突。

7).大事务可能会错误:如果一个事务非常大,导致GTID的内容非常多,以至于无法在 5 秒内通过网络传输完成,这时组成员间的通信将失败。要避免该问题,可以尽可能地限制事务的大小。例如,将LOAD DATA INFILE的文件切割为多个小块。

8).多主模型可能出现死锁:在多主模型下,SELECT ... FOR UPDATE语句可能会导致死锁。这是因为组内成员之间不会共享锁资源(译注:share nothing),因此这样的语句可能达不到预期的结果。

到此,相信大家对“MySQL组复制的要求和限制”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL组复制的要求和限制

本文链接: https://lsjlt.com/news/59785.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL组复制的要求和限制
    本篇内容主要讲解“MySQL组复制的要求和限制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL组复制的要求和限制”吧!组复制的要求:1).InnoDB存...
    99+
    2024-04-02
  • MySQL 5.7组复制的要求和限制有哪些
    这期内容当中小编将会给大家带来有关MySQL 5.7组复制的要求和限制有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 限制和要求:1....
    99+
    2024-04-02
  • Mysql主从三种复制模式(异步复制,半同步复制,组复制)
    目录mysql异步复制半同步复制组复制MGR的解决方案现在具备的特性MGR的解决方案目前的影响MySQL异步复制 MySQL异步复制是主从复制过程中默认的复制模式。主从复制涉及三个线程,master I/O线程、slav...
    99+
    2022-08-10
    Mysql主从复制模式 Mysql异步复制 Mysql半同步复制 Mysql组复制
  • Java后端限制频繁请求和重复提交的实现
    目录步骤一、写限制注解步骤二、解析注解步骤三、控制层注解使用当前端按连续请求多次,请求过于频繁或者是多次重复提交数据,对系统或者是数据造成了一点的损害。 为了解决这个问题,下面介绍了...
    99+
    2024-04-02
  • MySQL视图的优势和限制
    MySQL视图的优势和限制 在MySQL数据库中,视图是一种虚拟的表,由一个查询语句定义,可以简化复杂的查询操作,提高代码的可读性和可维护性。本文将介绍MySQL视图的优势和限制,并提...
    99+
    2024-03-15
    - mysql - 优势 - 视图 sql语句
  • MySQL的主从复制、半同步复制和主主复制的概念
    本篇内容主要讲解“MySQL的主从复制、半同步复制和主主复制的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL的主从复制、半同步复制和主主复制的概念...
    99+
    2024-04-02
  • MySQL中如何限制用户权限和访问控制
    在MySQL中,可以通过以下几种方法限制用户权限和访问控制: 使用GRANT语句授予或撤销用户权限。GRANT语句允许管理员为用...
    99+
    2024-03-06
    MySQL
  • 说GTID - GTID-based复制中的限制
    同一个事务(语句)中,不能同时涉及事务和非事务数据表的变更,这会导致一个事务对应多个GTID,违反了事务与GTID的一对一对应原则。[root@mysql.sock][db1]> show creat...
    99+
    2024-04-02
  • Java 限制前端重复请求的实例代码
    目录背景及用途实现步骤背景及用途 前端页面出现卡顿,用户反复点击操作按钮,导致后台接口短时间内多次提交 实现步骤 设置切面,增加注解,导致在规定时间内该接口不可重复调用 设置一个接口...
    99+
    2022-11-13
    Java 限制重复请求 Java重复请求
  • 简述mysql监控组复制
    原文:https://dev.mysql.com/doc/refman/8.0/en/group-replication-monitoring.html 译者:kun 最近在翻译MySQL8.0官方文档 本文是第1...
    99+
    2022-05-22
    MySQL 监控组 MySQL 监控组复制
  • 云主机有什么特殊的技术要求或限制
    云主机有什么特殊的技术要求或限制?云主机是基于云计算技术的一种虚拟化解决方案,它为用户提供了弹性、可扩展的计算资源。然而,与传统的物理服务器相比,云主机也存在一些特殊的技术要求或限制。在本文中将探讨这些限制和要求,并解释为什么它们在云主机...
    99+
    2024-01-24
    云主机有什么特殊的技术要求或限制 云服务器 云服务器知识
  • 1. 了解业务需求和预算限制
    在选择云服务器之前,首先需要明确自己的业务需求和预算限制。确定需要的计算资源、存储容量、网络带宽等方面的需求,并根据预算限制来选择适合的云服务器。 2. 考虑性能和可扩展性 云服务器的性能和可扩展性是选择的重要考虑因素。性能包括处理能力、...
    99+
    2023-10-27
    预算 需求 业务
  • mysql组复制的原理是什么
    MySQL组复制是一种MySQL数据库服务器集群技术,它允许多个MySQL数据库服务器之间共享相同的数据,并保持数据的一致性。组复制...
    99+
    2024-03-13
    mysql
  • win11复制文件要权限如何解决
    本文小编为大家详细介绍“win11复制文件要权限如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“win11复制文件要权限如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法一: 1、按下键盘上的“w...
    99+
    2023-07-01
  • mysql中三种复制机制异步复制,半同步复制和并行复制详细介绍
    下面一起来了解下mysql中三种复制机制异步复制,半同步复制和并行复制,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql中三种复制机制异步复制,半同步复制和并行复制这篇短内容是你想要的。**# 异...
    99+
    2024-04-02
  • 什么是mysql的权限控制机制
    本文主要给大家介绍什么是mysql的权限控制机制,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下什么是mysql的权限控制机制吧。权限控制机制 &nb...
    99+
    2024-04-02
  • MySQL监控组复制是什么
    MySQL监控组复制是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 监控组复制假设MySQL已经在启用了性能模式的情况下编译,使...
    99+
    2024-04-02
  • Cassandra的主要限制是什么
    Cassandra的主要限制包括: 数据模型限制:Cassandra是一个列式数据库,数据模型是基于列族的。因此,它不适合复杂的关...
    99+
    2024-04-09
    Cassandra
  • Kubernetes中资源限制和请求的概念是什么
    在Kubernetes中,资源限制和请求是用来控制容器在集群中使用资源的重要概念。 资源请求是容器在运行时对资源的需求量,用来告诉K...
    99+
    2024-04-02
  • mysql同步复制和异步复制有什么区别
    这篇文章主要介绍mysql同步复制和异步复制有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!区别:异步复制是Master将事件写入binlog,提交事务,自身并不知道slav...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作