MySQL 5.7 MGR集群搭建详解:高可用与扩展新方案
需积分: 45 170 浏览量
更新于2024-09-07
收藏 415KB PDF 举报
MySQL 5.7 MGR(Group Replication)集群搭建手册
MySQL Group Replication是MySQL官方于2016年12月推出的一项关键功能,它是一个用于实现高可用性和高扩展性的集群解决方案。MGR通过原生复制技术和Paxos协议提供了一致性保障,确保数据的安全。其主要特点包括:
1. **高一致性**:MGR基于插件方式实现,确保在事务提交时进行冲突检查,提供了数据的一致性保障,即使在网络故障或部分节点失效的情况下也能保持数据完整性。
2. **高容错性**:MGR具有自动检测机制,可以处理节点间的资源争用冲突,遵循先到者优先原则,并内置脑裂防护,确保在节点故障时仍能正常运作。
3. **高扩展性**:MGR支持动态添加和移除节点,新节点加入后能自动同步状态,保持集群的动态平衡。节点的去留无需人工干预,提升了系统的灵活性。
4. **模式选择**:MGR支持单主或多主模式,单主模式下自动选举主节点,所有更新操作集中处理;多主模式下,所有服务器可以并行执行更新,提高并发性能。
为了支持MGR,数据库引擎必须是InnoDB,因为事务处理需要事务支持;每个表必须有主键,用于事务冲突检测;启用ROW格式的二进制日志(binlog)以及Gtid(全局事务标识符)管理,主从状态信息存储在表中;此外,还需要配置一致性检测参数如--transaction-write-set-extraction=XXHASH64。
然而,MGR也存在一些限制,比如:
- 与普通复制的binlog校验不可共存,需设置--binlog-checksum=none。
- 不支持gaplock(间隙锁),隔离级别需设置为READ_COMMITTED,这可能影响某些特定操作的并发控制。
- 对表的锁操作(如lock/unlocktable)不被支持,可能影响如mysqldump备份和恢复等操作。
- 不支持Serializable隔离级别,DDL语句不具备原子性,需要用户自行验证一致性。
- 外键约束在多主模式下不支持,而在单主模式下则不受此限制。
- 最大支持9个节点,超过这个数量的节点将无法加入组。
在实际环境中搭建MGR集群前,需要对硬件、网络环境和配置进行充分准备,例如:
- 确保满足MGR的基础结构要求,如InnoDB引擎、主键和特定的binlog设置。
- 配置节点间通信的网络通道,保证数据的高效传输和一致性。
- 对于系统资源进行合理规划,考虑到MGR的高可用性和扩展性需求。
MGR集群的搭建是一项涉及数据库架构、网络配置和业务策略调整的任务,对于提升数据库系统的稳定性和性能具有重要意义。在实施过程中,要充分理解MGR的工作原理和限制,以确保成功部署和优化运维。
2024-05-27 上传
2020-12-15 上传
2021-01-21 上传
2023-11-14 上传
2023-11-09 上传
点击了解资源详情
machen_smiling
- 粉丝: 507
- 资源: 1984
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器