总体思想:
mysql_A(192.168.11.92)和mysql_B(192.168.11.93)互为主备,用keepalived实现高可用.VIP(192.168.11.90).
1.两台机器的my.cnf做如下更改.
server-id不能相同,小数字优先级大.
2.添加AB用户.两台都要添加.
#mysql>grant replication slave on *.* to ‘ab’@’%’ identified by ‘1234’;
3.设置AB同步.两台均按照如下设置
#mysql>stop slave;
#mysql>change master to
master_host=’192.168.11.xx’,master_port=3306,
master_user=’ab’,master_password=’1234’,
master_log_file=’ab.000001’,master_log_pos=106,
master_connect_retry=10;
#mysql>start slave;
#mysql>show slave status\G;
查看状态.两台都成功结束.
4.设置keepalived,配置文件如下.
! Configuration File for keepalived
global_defs {
route_id mysql
}
vrrp_script check_mysql {
script “/etc/keepalived/check_keepalive”
interval 2
weight 2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.11.90
}
track_script {
check_mysql
}
}
两台机器均做同样配置, priority 数值需要更改,数值大的为MASTER
脚本check_keepalive内容如下,检测mysql是否正常,如果不正常,则停掉keepalived,使BACKUP接管VIP
5.设置一个账户来测试搭建的架构,测试VIP切换很快,大概2秒左右就完成切换,基本实现高可用.