当前位置:首页 > 系统教程 > 正文

CentOS Stream 9 部署 MySQL 8.0 MGR 高可用集群(一主两从全攻略)

CentOS Stream 9 部署 MySQL 8.0 MGR 高可用集群(一主两从全攻略)

在当今的企业级应用中,数据库的高可用性(High Availability)是核心需求之一。MySQL Group Replication(MGR)作为官方提供的插件,实现了多主或单主模式的数据同步,具备自动故障检测和容错能力。本文将带你手把手在 CentOS Stream 9 环境下搭建 MySQL 8.0 MGR 一主两从集群。

本文核心关键词:CentOS Stream 9、MySQL 8.0 MGR、数据库高可用、一主两从集群

一、环境准备

为了保证集群正常运行,我们需要三台安装了 CentOS Stream 9 的虚拟机,配置如下:

节点角色 IP地址 主机名
Primary (主) 192.168.1.10 mysql-node1
Secondary (从) 192.168.1.11 mysql-node2
Secondary (从) 192.168.1.12 mysql-node3

1. 关闭防火墙和SELinux: 为了方便实验,建议关闭或开放对应端口(3306和33061)。

systemctl stop firewalldsetenforce 0

二、安装 MySQL 8.0

在所有节点执行以下命令安装 MySQL Server:

dnf install -y mysql-serversystemctl start mysqldsystemctl enable mysqld

初次启动后,通过 grep 'temporary password' /var/log/mysqld.log 获取临时密码并进行安全初始化。

CentOS Stream 9 部署 MySQL 8.0 MGR 高可用集群(一主两从全攻略)  数据库高可用 一主两从集群 第1张

图:MGR 高可用集群基本架构示意

三、修改配置文件 my.cnf

这是 MGR 成功的关键。在每个节点编辑 /etc/my.cnf.d/mysql-server.cnf,加入以下配置(以 node1 为例,注意修改 server_id 和 local_address):

[mysqld]server_id = 1gtid_mode = ONenforce_gtid_consistency = ONbinlog_checksum = NONE# MGR 基础配置plugin_load_add = group_replication.sogroup_replication_group_name = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"group_replication_start_on_boot = OFFgroup_replication_local_address = "192.168.1.10:33061"group_replication_group_seeds = "192.168.1.10:33061,192.168.1.11:33061,192.168.1.12:33061"group_replication_bootstrap_group = OFF

四、配置 MGR 复制通道

登录 MySQL,为集群同步创建专门的用户:

CREATE USER 'repl'@'%' IDENTIFIED BY 'Password123!';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';CHANGE REPLICATION SOURCE TO SOURCE_USER='repl', SOURCE_PASSWORD='Password123!' FOR CHANNEL 'group_replication_recovery';

五、启动集群

1. 在 node1(主)上初始化:

SET GLOBAL group_replication_bootstrap_group = ON;START GROUP_REPLICATION;SET GLOBAL group_replication_bootstrap_group = OFF;

2. 在 node2 和 node3 上加入:

START GROUP_REPLICATION;

六、验证状态

执行以下 SQL 查看集群成员状态:

SELECT * FROM performance_schema.replication_group_members;

若所有节点的 MEMBER_STATE 均为 ONLINE,则表示 CentOS Stream 9 上的 MySQL 8.0 MGR 高可用集群部署成功!

总结:通过以上步骤,我们完成了 MySQL MGR 的部署。这种架构不仅保证了数据的一致性,还提供了极强的容灾能力,是小白进阶架构师的必经之路。