在现代IT基础设施中,Debian数据库高可用是保障业务连续性的关键。本文将手把手教你如何在Debian系统上搭建一套稳定、可靠的数据库高可用方案,即使你是个Linux小白也能轻松上手!
数据库高可用(High Availability, HA)是指当一台数据库服务器发生故障时,系统能自动切换到备用服务器,从而保证服务不中断。常见的实现方式包括主从复制、双机热备、集群等。

你需要两台Debian服务器,配置如下:
确保两台服务器网络互通,并关闭防火墙或开放相应端口(3306、22、6443等)。
在两台服务器上分别执行以下命令安装MySQL:
sudo apt updatesudo apt install -y mysql-server mysql-client# 启动并设置开机自启sudo systemctl enable mysqlsudo systemctl start mysql编辑MySQL配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf在 [mysqld] 段落下添加或修改以下内容:
[mysqld]server-id = 1log-bin = mysql-binbind-address = 0.0.0.0binlog-do-db = your_database_name # 可选,指定同步的数据库重启MySQL:
sudo systemctl restart mysql创建用于复制的用户:
mysql -u root -p-- 在MySQL命令行中执行CREATE USER 'repl'@'%' IDENTIFIED BY 'StrongPassword123!';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';FLUSH PRIVILEGES;记录当前二进制日志位置:
SHOW MASTER STATUS;记下 File 和 Position 的值,稍后在从服务器配置中使用。
同样编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf修改 server-id 为唯一值(如2):
[mysqld]server-id = 2relay-log = mysql-relay-binread_only = 1重启MySQL:
sudo systemctl restart mysql配置主从关系(替换为你自己的主服务器IP和日志信息):
mysql -u root -p-- 在MySQL命令行中执行CHANGE 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;检查从服务器状态:
SHOW SLAVE STATUS\G确保 Slave_IO_Running 和 Slave_SQL_Running 均为 Yes。
Keepalived用于实现虚拟IP(VIP)的故障转移。在两台服务器上都安装:
sudo apt install -y keepalivedsudo nano /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 yourpassword } virtual_ipaddress { 192.168.1.100/24 } track_script { chk_mysql }}配置几乎相同,只需修改 state 为 BACKUP,priority 为 90:
vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 ...}在两台服务器上创建检查脚本:
sudo nano /etc/keepalived/check_mysql.sh内容如下:
#!/bin/bashif ! mysqladmin ping -h localhost --silent; then exit 1else exit 0fi赋予执行权限:
sudo chmod +x /etc/keepalived/check_mysql.sh启动Keepalived:
sudo systemctl enable keepalivedsudo systemctl start keepalived现在,客户端应通过虚拟IP 192.168.1.100 连接数据库。你可以尝试以下操作验证高可用性:
sudo systemctl stop mysqlip addr show 查看)通过本教程,你已经成功搭建了一套基于Debian HA集群的数据库高可用环境。该方案结合了MySQL主从复制与Keepalived高可用,具备自动故障转移能力,适用于中小型企业生产环境。
记住定期备份数据,并监控主从延迟。未来你还可以扩展为MHA(Master High Availability)或使用Galera Cluster实现多主架构。
希望这篇关于Debian数据库高可用的教程对你有帮助!如有疑问,欢迎在评论区留言交流。
本文由主机测评网于2025-12-06发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123898.html