在企业级应用中,数据库的稳定性和高可用性至关重要。一旦数据库宕机,可能导致业务中断、数据丢失等严重后果。本文将详细讲解如何在 RockyLinux 系统上搭建一套高可用的数据库方案,即使你是 Linux 新手,也能轻松上手。
数据库高可用(High Availability, HA)是指通过冗余架构和自动故障转移机制,确保数据库服务在发生硬件故障、网络中断或软件崩溃时仍能持续对外提供服务。常见的实现方式包括主从复制、共享存储集群、Pacemaker+Corosync 等。
对于大多数中小企业,我们推荐使用 MySQL 主从复制 配合 Keepalived 实现虚拟 IP 自动漂移。这种方式成本低、配置简单、稳定性好,非常适合 RockyLinux 环境。
1. 在主库(192.168.1.10)上操作:
# 编辑 MySQL 配置文件sudo vi /etc/my.cnf# 添加以下内容[mysqld]server-id=1log-bin=mysql-binbinlog-format=rowbind-address=0.0.0.0# 重启 MySQLsudo systemctl restart mysqld
创建用于复制的用户:
mysql -u root -pCREATE USER 'repl'@'%' IDENTIFIED BY 'StrongPassword123!';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';FLUSH PRIVILEGES;
2. 在从库(192.168.1.11)上操作:
# 编辑 MySQL 配置文件sudo vi /etc/my.cnf[mysqld]server-id=2relay-log=relay-logread-only=1# 重启 MySQLsudo systemctl restart mysqld
配置从库连接主库:
mysql -u root -pCHANGE MASTER TO MASTER_HOST='192.168.1.10', MASTER_USER='repl', MASTER_PASSWORD='StrongPassword123!', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=156;START SLAVE;
注意:MASTER_LOG_FILE 和 MASTER_LOG_POS 需要从主库执行 SHOW MASTER STATUS; 获取。
Keepalived 可以实现虚拟 IP(VIP)的自动漂移。当主库宕机,VIP 会自动切换到从库。
在两台服务器上都安装 Keepalived:
sudo dnf install -y keepalived
主库配置(/etc/keepalived/keepalived.conf):
vrrp_script chk_mysql { script "/usr/local/bin/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 1111 } virtual_ipaddress { 192.168.1.100/24 } track_script { chk_mysql }} 从库配置(/etc/keepalived/keepalived.conf):
vrrp_script chk_mysql { script "/usr/local/bin/check_mysql.sh" interval 2 weight -5 fall 2 rise 1}vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.100/24 } track_script { chk_mysql }} 创建健康检查脚本 /usr/local/bin/check_mysql.sh:
#!/bin/bashif ! mysqladmin ping -h localhost --silent; then exit 1else exit 0fi
赋予执行权限:
chmod +x /usr/local/bin/check_mysql.sh
启动 Keepalived:
sudo systemctl enable --now keepalived
现在你可以通过虚拟 IP 192.168.1.100 连接数据库。尝试停止主库的 MySQL 服务,观察 VIP 是否自动漂移到从库。恢复主库后,VIP 不会自动切回(除非配置抢占模式),这是正常行为。
如果你需要更强大的集群管理能力(如资源组、STONITH、多节点仲裁等),可以考虑使用 Pacemaker + Corosync 构建 RockyLinux高可用集群。该方案适用于金融、电信等对可靠性要求极高的场景。
通过本文介绍的 RockyLinux数据库高可用 方案,你可以轻松构建一套稳定可靠的 MySQL 高可用系统。无论是使用简单的 Keepalived,还是复杂的 Pacemaker+Corosync,核心目标都是保障业务连续性。希望这篇教程对你有所帮助!
相关 SEO 关键词回顾:
本文由主机测评网于2025-12-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125483.html