美文网首页
MySQL-MHA的vip功能笔记day16

MySQL-MHA的vip功能笔记day16

作者: 我要笑 | 来源:发表于2019-10-12 17:24 被阅读0次

    一、

    (1)、准备vip脚本

    [root@db03 ~]# cp master_ip_failover.txt  /usr/local/bin/master_ip_failover
    [root@db03 ~]# cd /usr/local/bin/
    [root@db03 /usr/local/bin]# yum install -y dos2unix
    [root@db03 /usr/local/bin]# dos2unix master_ip_failover 
    [root@db03 /usr/local/bin]# chmod +x master_ip_failover 
    

    (2) 更改manager配置文件:

    vi /etc/mha/app1.cnf
    # 添加:
    master_ip_failover_script=/usr/local/bin/master_ip_failover
    

    (3) 修改文件内容:

    [root@db03 /usr/local/bin]# vim /usr/local/bin/master_ip_failover 
    
    my $vip = '10.0.0.55/24';
    my $key = '1';
    my $ssh_start_vip = "/sbin/ifconfig eth0:$key $vip";
    my $ssh_stop_vip = "/sbin/ifconfig eth0:$key down";
    

    (4)主库上,手工生成第一个vip地址

    手工在主库上绑定vip,注意一定要和配置文件中的ethN一致,我的是eth0:1(1是key指定的值)

    ifconfig eth0:1 10.0.0.55/24 (52节点上)

    (5) 重启mha

    masterha_stop --conf=/etc/mha/app1.cnf
    nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 &
    

    二、邮件提醒

    (1) 添加配置选项
    vi /etc/mha/app1.cnf
    report_script=/usr/local/bin/send

    (2) 拷贝脚本 先解压
    [root@db03 ~]# cp -a email/* /usr/local/bin

    邮件发送脚本

    #!/bin/bash
    /usr/local/bin/sendEmail -o tls=no -f m18051730665@163.com -t 741696319@qq.com -s smtp.163.com:25 -xu m18051730665 -xp 授权码 -u "MHA Waring" -m "YOUR MHA MAY BE FAILOVER" &>/tmp/sendmail.log
    
    image.png

    (3)停止MHA
    masterha_stop --conf=/etc/mha/app1.cnf
    (4)开启MHA
    nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 &

    (5) 关闭主库,看警告邮件
    故障修复:

    1. 恢复故障节点
      (1)实例宕掉
      /etc/init.d/mysqld start
      (2)主机损坏,有可能数据也损坏了]

    三、备份并恢复故障节点。

    1.恢复主从环境
    看日志文件:

    CHANGE MASTER TO MASTER_HOST='10.0.0.52', MASTER_PORT=3306, MASTER_AUTO_POSITION=1, MASTER_USER='repl', MASTER_PASSWORD='123';
    start slave ;
    

    2.恢复manager
    2.1 修好的故障节点配置信息,加入到配置文件

    [server1]
    hostname=10.0.0.51
    port=3306
    

    2.2 启动manager

    nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 &
    

    四、binlog server(db03)

    (1)添加配置信息

    vim /etc/mha/app1.cnf
    [binlog1]
    no_master=1
    hostname=10.0.0.53
    master_binlog_dir=/data/mysql/binlog
    

    (2) 创建必要目录

    mkdir -p /data/mysql/binlog
    chown -R mysql.mysql /data/*
    

    (3)拉取主库binlog日志

    cd /data/mysql/binlog
    mysqlbinlog  -R --host=10.0.0.52 --user=mha --password=mha --raw  --stop-never mysql-bin.000001 &
    

    注意:
    拉取日志的起点,需要按照目前从库的已经获取到的二进制日志点为起点

    (4) 重启MHA

    masterha_stop --conf=/etc/mha/app1.cnf
    
    nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 &
    

    相关文章

      网友评论

          本文标题:MySQL-MHA的vip功能笔记day16

          本文链接:https://www.haomeiwen.com/subject/aifxmctx.html