本教程详细讲解如何在CentOS Stream 9系统中部署MySQL 8.0 Group Replication(MGR)高可用集群,实现一主两从架构。MySQL Group Replication是MySQL官方提供的高可用解决方案,通过组复制技术确保数据一致性和故障自动转移,适合生产环境使用。教程从零开始,步骤清晰,小白也能轻松跟着操作。
在开始前,确保有三台CentOS Stream 9服务器,网络互通,主机名解析正常。建议使用干净的系统环境,并关闭防火墙或开放MySQL端口(默认3306)。这里以三台服务器为例:- 主节点:192.168.1.10,主机名 mgr-node1- 从节点1:192.168.1.11,主机名 mgr-node2- 从节点2:192.168.1.12,主机名 mgr-node3在所有节点上执行以下命令更新系统:sudo dnf update -y。
MySQL Group Replication需要MySQL 8.0以上版本。在每台服务器上安装MySQL 8.0社区版:首先,添加MySQL Yum仓库:sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm -y。然后安装MySQL服务器:sudo dnf install mysql-community-server -y。安装完成后,启动MySQL服务并设置开机自启:sudo systemctl start mysqld && sudo systemctl enable mysqld。通过sudo grep "temporary password" /var/log/mysqld.log获取临时密码,运行mysql_secure_installation进行安全初始化。
配置MGR前,需要在所有节点修改MySQL配置文件。编辑/etc/my.cnf,添加以下内容,注意根据节点调整server-id和ip地址:[mysqld]# 通用配置server-id=1 # 主节点为1,从节点依次为2、3gtid_mode=ONenforce_gtid_consistency=ONbinlog_checksum=NONE# MGR特定配置plugin_load_add="group_replication.so"group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" # 唯一UUID,可使用uuidgen生成group_replication_start_on_boot=OFFgroup_replication_local_address="192.168.1.10:33061" # 主节点ip和端口,从节点对应修改group_replication_group_seeds="192.168.1.10:33061,192.168.1.11:33061,192.168.1.12:33061"group_replication_bootstrap_group=OFF # 仅在主节点初始启动时设为ON# 其他优化loose-group_replication_recovery_get_public_key=ON保存后重启MySQL服务:sudo systemctl restart mysqld。这个配置确保了MySQL Group Replication的基础环境。
首先在主节点(mgr-node1)上登录MySQL并创建复制用户:mysql -u root -pCREATE USER "repl"@"%" IDENTIFIED BY "StrongPassword123!";GRANT REPLICATION SLAVE ON . TO "repl"@"%;GRANT CONNECTION_ADMIN ON . TO "repl"@"%;FLUSH PRIVILEGES;SET SQL_LOG_BIN=0;CHANGE MASTER TO MASTER_USER="repl", MASTER_PASSWORD="StrongPassword123!" FOR CHANNEL "group_replication_recovery";SET SQL_LOG_BIN=1;INSTALL PLUGIN group_replication SONAME "group_replication.so";SET GLOBAL group_replication_bootstrap_group=ON;START GROUP_REPLICATION;SET GLOBAL group_replication_bootstrap_group=OFF;SELECT * FROM performance_schema.replication_group_members;如果看到主节点状态为ONLINE,表示集群启动成功。这建立了高可用集群的基础。
在从节点(mgr-node2和mgr-node3)上,登录MySQL并执行类似操作,但无需引导集群:mysql -u root -pCHANGE MASTER TO MASTER_USER="repl", MASTER_PASSWORD="StrongPassword123!" FOR CHANNEL "group_replication_recovery";INSTALL PLUGIN group_replication SONAME "group_replication.so";START GROUP_REPLICATION;SELECT * FROM performance_schema.replication_group_members;正常状态下,三个节点都应显示ONLINE,表明一主两从的MySQL Group Replication集群部署完成。这种高可用集群能自动处理故障转移,提升数据库可靠性。
通过简单测试验证集群工作:在主节点创建数据库和表,数据应自动同步到从节点。模拟主节点故障(如停止MySQL服务),从节点会自动选举新主,实现高可用性。这确保了数据库复制的一致性和服务连续性。
本教程详细展示了在CentOS Stream 9上部署MySQL 8.0 MGR一主两从高可用集群的全过程。通过Group Replication技术,您可以为应用提供稳定、可靠的数据库后端。建议在生产环境中定期备份和监控集群状态,以优化性能。MySQL Group Replication是构建现代高可用系统的关键工具,结合CentOS Stream 9的稳定性,能有效提升业务连续性。
本文由主机测评网于2026-01-11发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260116581.html