当前位置:首页 > RockyLinux > 正文

RockyLinux数据库集群部署指南(手把手教你搭建高可用MySQL集群)

在现代企业IT架构中,RockyLinux数据库集群是保障业务连续性和数据安全的关键技术。本文将面向初学者,详细讲解如何在Rocky Linux 8/9系统上部署一套高可用的MySQL数据库集群。即使你是零基础的小白,也能按照本教程一步步完成部署。

RockyLinux数据库集群部署指南(手把手教你搭建高可用MySQL集群) RockyLinux数据库集群 高可用数据库部署 RockyLinux MySQL集群 企业级数据库集群 第1张

一、环境准备

我们将在三台Rocky Linux服务器上部署MySQL主从复制 + Keepalived实现VIP漂移的高可用方案:

  • db-master:192.168.1.10(主节点)
  • db-slave:192.168.1.11(从节点)
  • db-backup:192.168.1.12(备用节点,可选)

确保所有服务器已安装Rocky Linux 8或9,并配置好网络、主机名和SSH免密登录。

二、安装MySQL 8.0

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

# 添加MySQL官方YUM仓库sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm# 安装MySQL Serversudo dnf install -y mysql-server# 启动并设置开机自启sudo systemctl enable --now mysqld# 获取临时root密码grep 'temporary password' /var/log/mysqld.log

使用临时密码登录MySQL并修改root密码:

mysql -u root -p# 输入临时密码后执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrong@Pass123';FLUSH PRIVILEGES;

三、配置主从复制

1. 配置主节点(db-master)

编辑MySQL配置文件 /etc/my.cnf,在 [mysqld] 段落下添加:

[mysqld]server-id = 1log-bin = mysql-binbinlog-format = ROWbind-address = 0.0.0.0

重启MySQL服务:

sudo systemctl restart mysqld

创建用于复制的用户:

CREATE USER 'repl'@'%' IDENTIFIED BY 'Repl@Pass123';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';FLUSH PRIVILEGES;

2. 配置从节点(db-slave)

同样编辑 /etc/my.cnf,设置不同的 server-id:

[mysqld]server-id = 2relay-log = mysql-relay-binread-only = 1

重启MySQL后,在从节点执行以下命令连接主节点:

CHANGE MASTER TO  MASTER_HOST='192.168.1.10',  MASTER_USER='repl',  MASTER_PASSWORD='Repl@Pass123',  MASTER_LOG_FILE='mysql-bin.000001',  MASTER_LOG_POS=156;START SLAVE;

使用 SHOW SLAVE STATUS\G 检查是否成功同步。

四、部署Keepalived实现高可用

为了实现自动故障转移,我们在主从节点上安装Keepalived:

sudo dnf install -y keepalived

1. 主节点配置(/etc/keepalived/keepalived.conf)

vrrp_script chk_mysql {    script "/etc/keepalived/check_mysql.sh"    interval 2    weight -5    fall 2    rise 1}vrrp_instance VI_1 {    state MASTER    interface eth0    virtual_router_id 51    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass rocky123    }    virtual_ipaddress {        192.168.1.100/24    }    track_script {        chk_mysql    }}

2. 创建MySQL健康检查脚本

#!/bin/bashif pgrep mysqld > /dev/null; then    exit 0else    exit 1fi

赋予执行权限:

chmod +x /etc/keepalived/check_mysql.sh

从节点配置类似,只需将 state MASTER 改为 BACKUP,并将 priority 设为 90。

五、测试与验证

启动Keepalived服务:

sudo systemctl enable --now keepalived

此时虚拟IP 192.168.1.100 应绑定在主节点。你可以通过以下方式测试高可用性:

  • 停止主节点MySQL服务,观察VIP是否漂移到从节点
  • 恢复主节点后,VIP是否自动切回(需配置抢占模式)

六、总结

通过本教程,你已经成功部署了一套基于RockyLinux数据库集群的高可用MySQL架构。这种方案适用于中小型企业对高可用数据库部署的需求,具备成本低、稳定性高的优点。

记住定期备份数据,并监控集群状态。如果你需要更高级的功能(如多主复制、读写分离),可以考虑使用Galera Cluster或ProxySQL等工具。

希望这篇RockyLinux MySQL集群部署指南对你有所帮助!掌握这项技能,将为你在运维和DevOps领域的职业发展打下坚实基础。