mysql 主主模式 自动监测脚本

回复 收藏
MYSQL 主主模式 容易掉, 求一个自动监测脚本   监测掉不自动同步了  自动进行二次同步   
大神们我的这个想法能实现么?
2015-11-09 16:22 举报
已邀请:
0

泡沫。

赞同来自:

坐等大神
0

Linuxpp

赞同来自:

掉得快
0

lky

赞同来自:

等大神出现
0

Landon

赞同来自:

本帖最后由 Landon 于 2016-1-22 12:15 编辑

这个脚本我已经写好了,就当练习玩玩,该脚本也算是一个“一键搭建mysql主从”!

该脚本是放在slave上运行的,做主主模式的话,A机器和B机器 两边都放上这几个脚本就可以了,放在同一个文件夹下(每个脚本里面都使用中文标识易于理解)!
功能:
如果主从失败会发送,邮件给用户,如果修复好了同样也会发送,如果处理不了同样也会发送邮件给用户,要求用户立刻手动处理,并且退出脚本!
如果处理成功了,会继续监测!

对付mysql主从或者 主从掉的解决办法:
1.slave stop ;slave start
2.reset slave,获取master bin-log 和position ,然后进行slave重建
该脚本全程是没有进行锁表的,是直接进行重建的!
注意:数据库这玩意儿,能手动就手动!
思路:主要是这样的通过expect 发送一个脚本到master上取得master bin-log和position信息记录临时文件,然后发送回来!
          剩下的就是在slave机器上监控,如果需要重建就发送脚本去获取!
主脚本是check_master.sh,调用 t1.expect,发送 t-master.sh 到master机器上!master机器会返回一个/tmp/master.log这是记录了master的信息!

注:ssh端口为22 如果需要修改,要自行修改 t1.expect 上的rsync 命令
       mysql命令要能直接使用!要先设置PATH环境!


check_master.sh 需要修改的选项
##local mysql user
user="root"
##local mysql password
passwd="a123456"
##notice e-mail
email="972367265@qq.com"
##replication user
repl_user="repl"
##replication password
repl_passwd="repl"
##master host
ma_host="192.168.1.100"


t1.expect 需要修改的选项
##对方的登录user (master)
set user "root"
##对方的登录密码(master)
set password "a123456"
##对方的IP (master)
set r_host "192.168.1.100"
##本机的登录用户
set user2 "root"
##本机的登录密码
set password2 "a123456"
##本地的IP
set l_host "192.168.1.200"

t-master.sh 需要修改的选项
##mysql的用户 (master)
user="root"
##mysql的密码 (master)
passwd="a123456"









0

prospect

赞同来自:

路过
0

wangzai

赞同来自:

学习
0

木树

赞同来自:

学习
0

zxc123

赞同来自:

使用zabbix监控工具 写一个发邮件或者发短信的怎么写呢?
0

贾永久

赞同来自:

Landon 发表于 2016-1-21 14:53
这个脚本我已经写好了,就当练习玩玩,该脚本也算是一个“一键搭建mysql主从”!

该脚本是放在slave上运 ...

谢谢 我研究研究

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: