Mysql Group Replication 官方文档译文
京东商城基础平台-数据库技术部
译文指导: 京东老樊
翻    译: 张璐 王思佳 张树臣 翟敏 赵晨                                      校    对: 王伟 刘风才 刘岩
版权声明和保密须知
本文件中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属北京京东尚科信息技术有限公司所有,受到有关产权及版权法保护。任何单位和个人未经北京京东尚科信息技术有限公司的书面授权许可,不得复制或引用本文件的任何片断,无论通过电子形式或非电子形式。 Copyright © 2017北京京东尚科信息技术有限公司版权所有
东商城 - 数据库技术部
MySQL Group Replication (简称MGR )是MySQL 官方于2016年12月推出的一个全新的高可用与高扩
展的解决方案。MySQL 组复制提供了高可用、高扩展、高可靠的MySQL 集服务。高一致性,基于原生复制及paxos 协议的组复制技术,并以插件的方式提供,提供一致数据安全保证;高容错性,只要不是大多数节点坏掉就可以继续工作,有自动检测机制,当不同节点产生资源争用冲突时,不会出现错误,按照先到者优先原则进行处理,并且内置了自动化脑裂防护机制;高扩展性,节点的新增和移除都是自动的,新节点加入后,会自动从其他节点上同步状态,直到新节点和其他节点保持一致,如果某节点被移除了,其他节点自动更新组信息,自动维护新的组信息;高灵活性,有单主模式和多主模式,单主模式下,会自动选主,所有更新操作都在主上进行;多主模式下,所有server 都可以同时处理更新操作。
MGR 是MySQL 数据库未来发展的一个重要方向。京东商城数据库技术部对此作出积极响应,在最短的时间内立项,对MGR 进行研究测试。为了使研究以及后续的运维推广工作更加简便,特此将MGR 官方文档译为中文,谨供业内人士参考。由于本章内容较多,翻译时间紧迫,尽管我们尽量做到认真仔细,但还是难以避
免出现错误和不尽如人意的地方,在此欢迎广大读者批评指正。  京东商城 - 数据库
技术部
19.1 组复制背景 (1)
19.1.1 复制技术 (2)
19.1.1.1 主–从复制 (2)
19.1.1.2 组复制 (3)
19.1.2 组复制用例 (3)
19.1.2.1 用例场景示例 (4)
19.1.3 组复制详细信息 (4)
19.1.3.1 故障检测 (4)
19.1.3.2 组成员关系 (5)
19.1.3.3 容错 (5)
19.2 入门指南 (6)
19.2.1 在单主模式下部署组复制 (6)
19.2.1.1部署组复制的实例 (6)
19.2.1.2配置组复制实例 (7)
19.2.1.3用户凭据 (10)
19.2.1.4启动组复制 (11)
19.2.1.5向组中添加实例 (15)
19.3监控组复制 (26)
19.3.1 Replication_group_member_stats (26)
19.3.2 Replication_group_members (27)
19.3.3 Replication_connection_status (27)
19.3.4 Replication_applier_status (28)
19.3.5组复制中的server 状态............................................................................................ 28 19.4 组复制操作 (29)
19.4.1 以多主模式或单主模式部署 (29)
19.4.1.1 单主模式 (30)
19.4.1.2 多主模式 (30)
19.4.1.3 查主节点 (31)
19.4.2 调整恢复 (31)
19.4.3 网络分隔 (33)
19.4.3.1 检测分区 (33)
19.4.3.2 解除分隔 (36)
19.5 组复制安全 (39)
19.5.1 IP 地址白名单 (40)
19.5.2 安全套接字层的支持(SSL ) (40)
19.5.3 虚拟专用网(VPN ) (43)
19.6 组复制系统变量 (43)
19.7 要求和限制 (52)
19.7.1 组复制要求 (52)
19.7.2 使用限制 (53)
19.8 常见问题 (54)
组中MySQL server 的最大数量是多少? ................................................................. 54 京东商城 - 数据库
技术部
组中的server 之间如何连接? .................................................................................... 54 选项group_replication_bootstrap_group 有什么用途? ......................................... 54 如何设置恢复过程的凭据? ......................................................................................... 54 我可以使用组复制横向扩展我的写
入负载吗? ......................................................... 54 在相同工作负载下,对比单纯的复制,组复制是否需要更多的网络带宽和CPU ?......................................................................................................................................... 55 我可以跨广域网部署组复制吗? ................................................................................. 55 在遇到临时的连接问题时,节点是否自动重新加入组? ......................................... 55 什么时候从组中移除成员? ......................................................................................... 55 当一个节点非常明显地延迟时会怎么处理? ............................................................. 56 在怀疑组中存在问题时,组中是否有某个特定成员负责触发重新配置组? ......... 56 19.9 组复制技术详细信息 ........................................................................................................... 56 19.9.1 组复制插件架构 ........................................................................................................ 56 19.9.2 组 ............................................................................................................................... 57 19.9.3 数据操作语句 ............................................................................................................ 58 19.9.4 数据定义语句 ............................................................................................................ 58 19.9.5 分布式恢复................................................................................................................ 59 19.9.5.1 组复制基础 .................................................................................................... 59 19.9.5.2 从时间点恢复 ................................................................................................ 59 19.9.5.3 视图更改 ........................................................................................................ 60 19.9.5.4 分布式恢复的使用建议
和限制 .................................................................... 64 19.9.6 可观察性.................................................................................................................... 64 19.9.7 组复制性能................................................................................................................ 64 19.9.7.1 微调组通讯线程 ............................................................................................ 65 19.9.7.2 消息压缩 ........................................................................................................ 65 19.9.7.3 流量控制 .. (66)
京东商城 - 数据库
mysql帮助文档技术部
本章介绍MySQL 组复制以及如何安装,配置和监控。 MySQL 组复制是一个能够让您创建弹性化、高可用、容错复制结构的MySQL 插件。
组复制可以在两种模式下运行。 在单主模式下,组复制具有自动选主功能,每次只有一个server 成员接受更新。在多主模式下运行时,所有的server 成员都可以同时接受更新。 组复制中内置的组成员服务,用于保持组信息的视图一致,并在任何给定的时间点对于所有server 成员可用。 当Server 成员离开或加入组时,视图会相应地进行更新。 当有server 成员意外离开组时,故障检测机制会检测到此情况,并自动通知组当前视图已更改。
本章的结构如下:
•第19.1节“组复制背景”介绍组以及组复制的工作原理。
•第19.2节“入门指南”介绍如何通过配置多个MySQL Server 实例来创建组。
•第19.3节“监控组复制”介绍如何监控组。
•第19.5节“组复制安全性”介绍如何保护组。
•第19.9节“组复制技术详细信息”详细介绍组复制是如何工作的。
19.1 组复制背景 本节介绍有关MySQL 组复制的背景信息。
创建容错系统的最常见方法是创建组件冗余,换句话说,组件可以删除,而系统应该继续按预期运行。 这就造成了一系列的挑战,将这种系统的复杂性提高到一个完全不同的水平。 具体来说,
复制的数据库需要同时维护和管理若干个server 成员,而不只是一个。 此外,当多个server 协同工作时,系统必须处理其他一些常见的分布式系统问题,诸如断网或脑裂等情况。 因此,最大的挑战是将数据库和数据复制的逻辑与若干个server 以简单一致的方式协调运行的逻辑相融合。 换句话说,也就是使多个server 成员关于系统的状态和系统每次变更的数据保持一致。 这可以被概括为使多个server 对于每个数据库状态转换达成共识,从而使它们都作为一个独立的数据库运行,或者说它们最终达到
相同状态。 这就意味着它们需要作为(分布式)state machine 运行。 MySQL 组复制提供了一种强大的server 间协调机制的分布式state machine 复制。 组中的server 成员会自动地进行协调。
组复制可以在两种模式下运行。 在单主模式下,组复制具有自动选主功能,每次只有一个server 成员接受更新。在多主模式下运行时,所有的server 成员都可以同时接受更新。
这种功能就要求应用程序不得不解决部署所带来的限制。内置的组成员服务,用于保持组视图的一致性,并在任何给定的时间点对于所有server 可用。当 Server 离开或加入组时,视图会相应地进行更新。 server 也可能会意外离开组,故障检测机制会自动检测到此情况,并通知组该视图已更改。
京东商城 - 数据库
技术部

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。