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

一、环境准备
我们将在三台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领域的职业发展打下坚实基础。
