首先确保实例配置正确,再安装并启动组复制插件。1. 配置包括开启ROW格式binlog、GTID、唯一server_id等;2. 安装group_replication插件;3. 首节点引导组,其他节点加入;4. 通过performance_schema验证成员状态为ONLINE,确保集群正常运行。

要启动 mysql 组复制(Group Replication),需要确保实例配置正确,并按步骤启用插件。组复制基于 MySQL 的复制协议,提供高可用、容错的数据库集群能力。
1. 确保满足前提条件
在启动组复制前,必须完成以下配置:
- 启用二进制日志(Binary Logging):必须开启 binlog,且格式为 ROW。
- 启用 GTID:设置 gtid_mode=ON。
- 设置唯一 server_id:每个节点必须有唯一的 server_id。
- 启用 log_slave_updates:确保复制事件写入 binlog。
- 配置主键或主键等价结构:所有参与表必须有显式主键。
- 网络互通:节点之间能通过指定端口通信(默认 3306 和组通讯端口如 33061)。
示例配置片段(my.cnf):
[mysqld]
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=
log_bin=binlog
binlog_format=ROW
log_slave_updates=ON
master_info_repository=table
relay_log_info_repository=TABLE
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name=”aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa”
loose-group_replication_start_on_boot=OFF
loose-group_replication_local_address=”host1:33061″
loose-group_replication_group_seeds=”host1:33061,host2:33061″
loose-group_replication_bootstrap_group=OFF
2. 安装组复制插件
登录 MySQL 实例,安装组复制插件:
INSTALL PLUGIN group_replication SONAME ‘group_replication.so’;
可通过以下命令确认插件是否加载:
select * FROM information_schema.PLUGINS WHERE PLUGIN_NAME = ‘group_replication’;
3. 启动组复制
首次启动时需决定是引导新组还是加入已有组。
如果是第一个节点(引导组):
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION USER=’repl’ PASSword=’repl_password‘;
SET GLOBAL group_replication_bootstrap_group=OFF;
注意:group_replication_bootstrap_group=ON 只能在第一个节点首次启动时使用一次。
其他节点加入组:
START GROUP_REPLICATION USER=’repl’ PASSWORD=’repl_password’;
这些节点会自动连接到种子列表中的活跃成员并同步数据。
4. 验证组复制状态
查看成员状态:
SELECT * FROM performance_schema.replication_group_members;
正常情况下,每个节点应显示为 ONLINE。
查看事务冲突、丢弃等情况:
SELECT * FROM performance_schema.replication_group_member_statsG


