在一台虚拟机上搭建MGR 9.0集群
一、MGR简介
MGR是“MySQL Group Replication”的简称,它是MySQL官方推出的基于组复制的高可用集群架构。MGR基于分布式Paxos协议,实现组复制,保证数据一致性。内置故障检测和自动选主功能,只要半数以上节点正常,就可继续正常工作。 它具有以下特点和要求:
- MGR由奇数个节点共同组成一个数据库集群(至少3个节点,最多9个节点)
- 各节点配置尽量保持一致,因为和 PXC一样,也会有“木桶短板效应”。
- 事务的提交必须经过半数以上节点确认方可提交。
- 支持单主模式和多主模式。官方推荐使用单主模式。
- 仅支持InnoDB引擎
- 需要开启GTID
- 表要有显式主键
- 不建议使用外键
以下是3节点MGR的拓扑结构示意图:
对于正常部署3节点的MGR集群,需要三台主机。但由于我本机资源有限,而且只是用于测试,因此准备在一台虚拟机上搭建3节点的MGR集群。
以下搭建过程,参照了官方文档(https://dev.mysql.com/doc/refman/9.0/en/group-replication.html)的指导说明。