MySQL-MHA的vip功能笔记day16

2019-10-12  本文已影响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 &
上一篇下一篇

猜你喜欢

热点阅读