mysql【双主模式+keepalived高可用】


说明

mysql双主模式下,在任意一台mysql上写数据都会同步到另一台上,本章通过keepalived VIP实现如果一台服务挂了会自动切换到另一台mysql上.

配置

# 安装keepalived,centos默认安装了
yum install keepalived -y

修改双主机/etc/keepalived/keepalived.conf配置.

global_defs {
   router_id mysql
}

vrrp_script chk_mysql {
    script "killall -0 mysqld"      // 检测mysql进程是否存活
    interval 2
    timeout 2
    fall 3
}

vrrp_instance mysql {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100                // 另一台权重可以设置90,防止争抢VIP
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.41.140          // 设置虚拟ip
    }
    track_script {
        chk_mysql
    }
}

测试

# 通过命令可以看到VIP已经在一台机器上了,也可以通过虚拟IP连接上mysql
[root@mysql01 mysql]# ip addr sh ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:26:c2:7e brd ff:ff:ff:ff:ff:ff
    inet 192.168.41.141/24 brd 192.168.41.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.41.140/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe26:c27e/64 scope link 
       valid_lft forever preferred_lft forever
# 关掉mysql服务,命令可能根据你安装方式有区别
service mysql stop

# 再次在两台机器上执行命令,可以看到VIP转移了,可以继续通过VIP连接mysql
ip addr sh ens33

文章作者: wuzhiyong
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wuzhiyong !
评论
 上一篇
mysql【双主模式+haproxy+keepalived高可用】 mysql【双主模式+haproxy+keepalived高可用】
说明前文仅仅通过mysql双主 + keepalived实现高可用,这种方式在一台出现问题的时候可以切换,但是正常情况下只有一台服务使用,无法实现负载均衡,本文引入haproxy实现正常情况下也能有负载均衡的效果. 配置 安装haproxy
2020-07-28
下一篇 
mysql【双主模式配置】 mysql【双主模式配置】
前提准备 主机 系统 IP mysql mysql01 centos7 192.168.41.141 已部署5.7.31 mysql02 centod7 192.168.41.142 已部署5.7.31 原理MySQL中有
2020-07-28
  目录