• ADADADADAD

    Mysql + keepalive高可用搭建[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:11:23

    作者:文/会员上传

    简介:

    Mysql + keepalive高可用搭建系统环境:centos6.8Ip:192.168.137.36 主库192.168.137.38从库VIP(虚拟ip/浮动ip):192.168.137.100软件版本:mysql 5.7.20Keepalived1.2.13主从搭

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

     Mysql + keepalive高可用搭建

    系统环境:centos6.8
    Ip:192.168.137.36 主库
    192.168.137.38从库

    VIP(虚拟ip/浮动ip):192.168.137.100

    软件版本:mysql 5.7.20
    Keepalived1.2.13

    主从搭建略
    Mysql1
    vim /etc/my.cnf
    binlog-do-db=test
    log-bin=mysql-bin
    server-id=1
    gtid-mode=ON
    enforce-gtid-consistency

    Mysql2
    Vim /etc/my.cnf
    gtid-mode=ON
    enforce-gtid-consistency
    log-bin=mysql-bin
    log-slave-updates=ON
    server-id=3
    binlog-do-db=test

    安装keepalived
    yum install keepalived

    在192.168.137.36主库修改keepalived的配置文件
    注意:加颜色部分为修改部分

    [root@zabbix ~]# cat /etc/keepalived/keepalived.conf
    ! Configuration File for keepalived
    global_defs{
    notification_email {
    root@localhost
    }
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
    router_id LVS_DEVEL
    }
    #VIP1
    vrrp_instance VI_1 {
    stateBACKUP
    interface eth0
    lvs_sync_daemon_inteface eth0
    virtual_router_id 151
    priority 100
    advert_int 5
    nopreempt
    authentication {
    auth_type PASS
    auth_pass 2222
    }
    virtual_ipaddress {
    192.168.137.100
    }
    }
    virtual_server192.168.137.100 3306 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    persistence_timeout 60
    protocol TCP
    real_server 192.168.137.36 3306 {
    weight 100
    notify_down /data/sh/mysql.sh
    TCP_CHECK {
    connect_timeout 10
    nb_get_retry 3
    delay_before_retry 3
    connect_port3306
    }
    }
    }

    保存退出
    在192.168.137.38从库修改keepalived的配置文件
    [root@localhost sh]# cat /etc/keepalived/keepalived.conf
    ! Configuration File for keepalived
    global_defs{
    notification_email {
    root@localhost
    }
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
    router_id LVS_DEVEL
    }
    #VIP1
    vrrp_instance VI_1 {
    stateBACKUP
    interface eth0
    lvs_sync_daemon_inteface eth0
    virtual_router_id 151
    priority 98
    advert_int 5
    nopreempt
    authentication {
    auth_type PASS
    auth_pass 2222
    }
    virtual_ipaddress {
    192.168.137.100
    }
    }
    virtual_server192.168.137.100 3306 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    persistence_timeout 60
    protocol TCP
    real_server 192.168.137.38 3306 {
    weight 98
    notify_down /data/sh/mysql.sh
    TCP_CHECK {
    connect_timeout 10
    nb_get_retry 3
    delay_before_retry 3
    connect_port3306
    }
    }
    }
    保存退出
    上面的配置简单说明:
    state BACKUP  表示为备模式,nopreempt 为不抢占,双方都配为备模式,并且不抢占,可以避免“脑裂”问题,priority 100 为权重,数字越高,权重越高,当双方都配为BACKUP模式,并且配置nopreempt时,keepalived靠这个数字来判断谁是主,谁是备
    主从都要创建/data/sh/mysql.sh脚本
    mkdir /data/sh
    vim /data/sh/mysql.sh 加入以下内容:
    #!/bin/bash
    /etc/init.d/keepalived  stop
     
    chmod  755  /data/sh/mysql.sh
    modprobe  ip_vs  #加载ip_vs模块 虚拟IP要用
    lsmod |  grep  ip_vs  查看ip_vs模块有没有加载,如果看到下面的内容,就表示加载成功:

    /etc/init.d/mysqld  start  #启动mysql
    /etc/init.d/keepalive  start   #启动keepalived
    在36上的操作和38上一样,只是keepalived.conf配置文件里priority 100 改为 priority 98
     
    real_server 192.168.137.36 改为 real_server 192.168.137.38其他不变。
     
    查看VIP情况命令: ip a

     
    至此mysql的主从高可用就做好了,可以在36上测试挺掉mysql服务,看看vip会不会漂移到38上,一般来说都是没问题的,如果有问题,请检查你的配置,步骤是不是有错误,还有selinux,防火墙是否关闭等

    Mysql + keepalive高可用搭建.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqlkeepalived