MySQL+keepalive搭建主从(双主)HA
基础安装较为简单,直接跳过
说明:
主: 192.168.31.69 ens33
从: 192.168.31.234 ens33
vip 192.168.31.133
1.搭建主从同步
1.1从库恢复数据库
1 主库操作(目的为初始状态下主从一致): 2 mysql -uroot -pxxx 3 reset master; 4 mysql -uroot -pxxx --default-character-set=utf8 < /data/backup/all.sql
1.2 master 上创建复制账号
1 mysql -uroot -prootxxx 2 3 create user 'repl'@'%' identified by ''; 4 GRANT REPLICATION SLAVE ON *.* TO 'bak'@'%'; 5 flush privileges;
1.3 从库同步主库
1 CHANGE MASTER TO 2 MASTER_HOST='', 3 MASTER_USER='repl', 4 MASTER_PASSWORD='', 5 MASTER_PORT=3306, 6 MASTER_AUTO_POSITION=1; 7 start slave;
1.4 主库同步从库(双主配置)
1 CHANGE MASTER TO 2 MASTER_HOST='', 3 MASTER_USER='repl', 4 MASTER_PASSWORD='', 5 MASTER_PORT=3306, 6 MASTER_AUTO_POSITION=1; 7 start slave;
2 Keepalived 安装配置
2.1安装
1 1、检查是否安装 2 ll /usr/local/keepalived 3 2、安装 4 cd /tmp 5 tar -zxvf keepalived-2.0.20.tar.gz 6 cd keepalived-2.0.20 7 ./configure --prefix=/usr/local/keepalived 8 make 9 make install 10 /usr/local/keepalived/sbin/keepalived -v
2.2修改配置文件
1 mkdir /etc/keepalived/ 2 cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ 3 1.keepalived配置文件 4 5 vi /etc/keepalived/keepalived.conf 6 7 vrrp_script vs_mysql_103 { 8 script "/etc/keepalived/check_mysql.sh" ###检查脚本 9 interval 10 10 } 11 vrrp_instance VI_103 { 12 state BACKUP ##两台机器都设置为BACKUP 13 # nopreempt ##非抢占模式(默认为抢占模式,MASTER恢复后抢占vip) 14 interface ens33 ##发送VRRP包的网卡,这里配置为vip网卡 15 virtual_router_id 7 ##路由组(两节点设置为一样) 16 priority 100 ##优先级 17 unicast_src_ip 192.168.31.234 ##单播本地地址 18 unicast_peer { ##单播设置(此处为收不到组播vrrp包所以设置) 19 192.168.31.69 ##目的IP 20 } 21 advert_int 5 22 authentication { 23 auth_type PASS ##身份验证 24 auth_pass 1314 ##密码 25 } 26 track_script { 27 vs_mysql_103 ##调用MySQL脚本 28 } 29 virtual_ipaddress { 30 192.168.31.133 ##vip 31 } 32 }
从库只需将上述配置中`priority 100`改为`priority 99`
tcpdump -i ens33 vrrp -n 抓包查看是否正常

浙公网安备 33010602011771号