centos 7 下 mha脚本

#!/bin/bash
SRC_PWD=`pwd`
WORK_PATH="/mysql/mha"
CONF_PATH="/etc/mha"
MANAGER='192.168.0.4'           #管理机IP
SERVER1='192.168.0.2'
SERVER2='192.168.0.3'
SERVER3='192.168.0.4'
MYSQLPATH='/mysql'
MYSQL_REPL_USER='repl'
MYSQL_REPL_PASSWORD='123'
MANAGER_USER='mha'
MANAGER_PASSWORD='mha'
SSH_USER='root'
MYSQL_USER='root'
MYSQL_PASSWORD='123'
RED='echo -e"\e[2;31m '
GREEN='echo -e"\e[1;32m '
END=' \e[0m"'

install_env(){
        yum install -y perl-DBD-MySQL
        ln -s ${MYSQLPATH}/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
        ln -s ${MYSQLPATH}/mysql/bin/mysql       /usr/bin/mysql
        host=`hostname -I |awk -F . '{print $4}'`
        ip=`echo ${MANAGER} |awk -F . '{print $4}'`
        [ ${ip} == ${host} ] &&   yum install -y perl-Config-Tiny perl-Log-Dispatch perl-Parallerl-ForkManager perl-Time-HiRes epel-release >/dev/null
        [ -d /etc/mha ] && {  ${RED} "配置文件目录已存在!" ${END} ; return 200; }
        mkdir -p /etc/mha/
                [ -d /mysql/mha ] && { ${RED} "工作目录已存在!" ${END}  ; return 201; }
         mkdir -p /mysql/mha/log
        cp -a ${SRC_PWD}/conf/script  /mysql/mha/
        cp -a ${SRC_PWD}/conf/mha.sh /etc/profile.d/
        source /etc/profile.d/mha.sh
        return 100;
}
install_conf() {
cat >/etc/mha/mha.cnf  << EOF
[server default]
manager_log=${WORK_PATH}/log/manager
manager_workdir=${WORK_PATH}
master_binlog_dir=/mysql/binlog-master
master_ip_failover_script=${WORK_PATH}/script/master_ip_failover_script
user=${MANAGER_USER}
password=${MANAGER_PASSWORD}
ping_interval=2
repl_password=${MYSQL_REPL_PASSWORD}
repl_user=${MYSQL_REPL_USER}
ssh_user=${SSH_USER}

[server1]
hostname=${SERVER1}
master_binlog_dir=/mysql/binlog-master
port=3306

[server2]
candidate_master=2
check_repl_delay=0
hostname=${SERVER2}
master_binlog_dir=/mysql/binlog-master
port=3306

[server3]
hostname=${SERVER3}
master_binlog_dir=/mysql/binlog-master
port=3306
EOF
}
config_mysql(){
        MASTER_NET=echo ${SERVER1} |awk -F . '{print $1"."$2"."$3".%"}'
        mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "grant all on *.* to ${MANAGER_USER}@'${MASTER_NET}' identified by '${MANAGER_PASSWORD}'" &> /dev/null


}
ssh_config(){
        $GREEN "启动前请确保SSH互通!"
        read -p "请输入(yse|no)" yn
        if [[ "${yn}" == "yes" ]]; then
            $GREEN "您输入的是yes!" ${END}
            return 100
        else
            $RED "您输入的是no,安装脚本退出!" ${END}
            exit 2
        fi

}
 

##提前做好主从复制,修改自己的IP

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值