1. 程式人生 > >Centos7.5安裝mysql5.7.24二進制包方式部署(keepalived+主從復制)

Centos7.5安裝mysql5.7.24二進制包方式部署(keepalived+主從復制)

rep 需要 nopreempt weight 文件 127.0.0.1 主庫 使用 timeout

一、環境準備:

操作系統:CentOS Linux release 7.5.1804 (Core)
mysql版本:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
主庫:172.16.8.247
從庫:172.16.8.249
主機名:
172.16.8.247 qas-zabbix-node01
172.16.8.249 qas-zabbix-node02
172.16.8.248 vip

二、mysql5.7安裝及主從復制配置

主庫:172.16.8.247
從庫:172.16.8.249
數據安裝參考:
一、Centos7.5安裝mysql5.7.24二進制包方式部署
二、Centos7.5安裝mysql5.7.24二進制包方式部署(主從復制)

三、Keepalived概述

Keepalived 是一個可以快速構建高用服務的解決方案。設計之初針對 LVS 負載均衡提供高可用 的,它集成對 LVS 集群管理,包括健康檢查、故障剔除等功能。
Keepalived 使用 VRRP

四 、Keepalived安裝及配置

1、安裝keepalived

主庫、從庫都需要安裝
yum -y install keepalived

2、 配置keeepalived配置文件(主庫)

#vim /etc/keepalived/keepalived.conf 

global_defs {
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id mysql-247
}
vrrp_script chk_mysql {
   script "/etc/keepalived/scripts/mysql_check.sh"
   interval 2
   weight -5
   fall 2
   rise 1
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 61
    priority 100
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 2222
    }
       track_script {
       chk_mysql
    }
    virtual_ipaddress {
        172.16.8.248
    }
}
檢查腳本
vim /etc/keepalived/scripts/mysql_check.sh
#!/bin/bash
counter=$(netstat -na|grep "LISTEN"|grep "3306"|wc -l)
if [ "${counter}" -eq 0 ]; then
    service keepalived stop
fi

3、 配置keeepalived配置文件(從庫)

# vim /etc/keepalived/keepalived.conf 

global_defs {
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id mysql-249
}

vrrp_script chk_mysql {
   script "/etc/keepalived/scripts/mysql_check.sh"
   interval 2
   weight -5
   fall 2
   rise 1
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 61
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2222
    }
    track_script {
    chk_mysql
    }
    virtual_ipaddress {
        172.16.8.248
    }
}

檢查腳本
vim /etc/keepalived/scripts/mysql_check.sh
#!/bin/bash
counter=$(netstat -na|grep "LISTEN"|grep "3306"|wc -l)
if [ "${counter}" -eq 0 ]; then
    service keepalived stop
fi

Centos7.5安裝mysql5.7.24二進制包方式部署(keepalived+主從復制)