使用mysql主从热备+keepalived服务+ipvsadm工具来实现mysql高可用主备+负载均衡
以下是一个简化的示例,展示如何配置MySQL主从复制和使用Keepalived和IPVS实现高可用性和负载均衡。
- 配置MySQL主从复制:
在主服务器上:
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%' IDENTIFIED BY 'replica_password';
SHOW MASTER STATUS;
在从服务器上:
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='记录的log文件名',
MASTER_LOG_POS=记录的log位置;
START SLAVE;
- 安装和配置Keepalived:
在两个节点上安装Keepalived:
sudo apt-get install keepalived
配置/etc/keepalived/keepalived.conf
:
global_defs {
router_id MySQL-HA
}
vrrp_instance mysql-ha {
state BACKUP
interface eth0
virtual_router_id 51
priority 100 # 主服务器的优先级更高
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
2.168.1.100/24 dev eth0 label eth0:1
}
}
- 配置和启动IPVS(可以使用ipvsadm工具):
安装IPVS内核模块和管理工具:
sudo apt-get install ipvsadm
启动IPVS服务:
sudo ipvsadm --set 30 5 60
sudo ipvsadm -A -t 192.168.1.100:3306 -s rr
sudo ipvsadm -a -t 192.168.1.100:3306 -r 192.168.1.10:3306 -g
sudo ipvsadm -a -t 192.168.1.100:3306 -r 192.168.1.20:3306 -g
- 客户端配置:
客户端连接虚拟IP(192.168.1.100),而不是具体的MySQL服务器地址。
以上是一个简化的示例,实际部署时需要考虑更多的配置细节,如网络接口名称、IP地址、优先级设置、身份验证信息等。此外,还需要确保防火墙和安全组设置允许相应的VIP、MySQL端口和Keepalived通信。
评论已关闭