一分钟教你快速建立起MySQL/Mariadb 主从状态检测脚本(shell)

脚本主要实现了网络检测和简单的主从状态检测,发现状态异常即发送邮件报警,在手机上安装一个易信可实现实时联动,及时获取服务器状态信息,脚本虽简单却实用。

#!/bin/bash

##author:jerry_jiang

mail_addr="[email protected]"br/>mail_addr2="[email protected]"
ping 192.168.33.19 -c1 >/dev/null
sping1=echo $?
ping 192.168.33.20 -c1 >/dev/null
sping2=echo $?
if [ $sping1 == 0 ]; then
status19=mysql -uuser -ppassword -h192.168.33.19 -P33060 -e "show slave status\G;"|grep Yes|wc -l
[ $status19 != 2 ] && echo "Master and slave error,Check it,Server IP:192.168.17.19"|mailx -v -s "master and slave warnning" $mail_addr
[ $status19 != 2 ] && echo "Master and slave error,Check it,Server IP:192.168.17.19"|mailx -v -s "master and slave warnning" $mail_addr2
else
echo "Check network,OA Server IP:192.168.17.19"|mailx -v -s "net warnning" $mail_addr
echo "Check network,OA Server IP:192.168.17.19"|mailx -v -s "net warnning" $mail_addr2
fi
if [ $sping2 == 0 ]; then
status20=mysql -uuser -ppassword -h192.168.33.20 -P33060 -e "show slave status\G;"|grep Yes|wc -l
[ $status20 != 2 ] && echo "Master and slave error,Check it,Server IP:192.168.17.20"|mailx -v -s "master and slave warnning" $mail_addr
[ $status20 != 2 ] && echo "Master and slave error,Check it,Server IP:192.168.17.20"|mailx -v -s "master and slave warnning" $mail_addr2
else
echo "Check network,OA Server IP:192.168.17.20"|mailx -v -s "net warnning" $mail_addr
echo "Check network,OA Server IP:192.168.17.20"|mailx -v -s "net warnning" $mail_addr2
fi

一分钟教你快速建立起MySQL/Mariadb 主从状态检测脚本(shell)

原文地址:http://blog.51cto.com/jdonghong/2287109

时间: 2024-12-25 07:10:29

一分钟教你快速建立起MySQL/Mariadb 主从状态检测脚本(shell)的相关文章

zabbix应用-监控mysql slave 主从状态

线上服务的监控已经基本搞定了,现在就剩下mysql 主从的状态没有检测,这里要想用zabbix 监控,还得写一个获取主从状态的脚本,然后设置一个key,创建模板套用这个key 获取mysql 的主从状态是否正常. 1.这里把我的脚本贴一下,脚本要给可执行权限 #!/bin/bash user=zabbixagent passwd=zabbixagent port=$1 #自定义函数 function status {    status=`/data/mysql_root/mysql/bin/m

MySQL/MariaDB/Percona数据库升级脚本

MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh, 一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本之间兼容问题,脚本默认仅支持同一大版本之间的升级,如:MySQL- 5.6.25升级到MySQL-5.6.26.MySQL-5.5.44升级到MySQL-5.5.45.MariaDB-10.0.20升级到 MariaDB-10.0.21:不能跨分支版本且不能跨大版本,如从MySQL-5.5.44升级到Perc

mysql主从状态检测

安装uuencode yum install sharutils 创建shell脚本 #!/bin/bash date_str=`date +%Y%m%d`  slave=$(/Disk/mysql/bin/mysql -ucheckslave -p123 -h 127.0.0.1 -e "show slave status\G" | grep Running | grep Yes | wc -l) if  (( $slave == 2 ))     then         echo

mysql主从状态监控脚本报警脚本

#!/bin/bash MYSQLPORT=`netstat -antlp |grep "LISTEN" ` |grep "3306" |awk -F[:""]+  '{print $4}' MYSQLIP = `ifconfig eth0` |grep "inet addr" |awk -F[:""]+ '{print $4}' STATUS = $(/usr/local/mysql/bin/mysql

Mysql主从状态监控脚本

目标:对Mysql从库进行状态监控,如果从库复制异常就告警 思路: 1.首先查找Mysql从库的4个参数值(show slave status根据这个命令):分别是从库的IO线程.SQL线程.复制延迟时间(这个在以下脚本没用到,可以再写个脚本对其延迟进行告警).错误码 2.函数Mysql_status判断,对IO线程.SQL线程.错误码三者逻辑与判断 3.如果为假则执行函数Mysql_Errno 4.对于mysql错误码为1158 1159 1008 1007 1062 我们可以进行停止slav

MySQL(Mariadb)主从同步基础

一.准备阶段 两台linux虚拟机centos7版本,都安装了mariadb 5.5.6 进行主从同步配置: 首先防火墙要开放3306端口, 主库服务器ip:192.168.211.100 从库服务器ip:192.168.211.101 二.配置主库 1.主库上给从库ip授权 mysql>GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.211.101' identified by 'test123456';mysql>FLUSH PRIVIL

监控mysql数据库主从状态

python版本2.6.6 #!/usr/bin/python import MySQLdb def check_mysql():    status = True    try:        conn=MySQLdb.connect(host='172.7.10.8',user='summer',passwd='summer',db='cms')        cur=conn.cursor()        cur.execute("show slave status;")   

MySQL高可用,MySQL互为主从+keepalived。

一:环境:centos7.5 MySQL5.7192.168.3.222 master192.168.3.158 slave192.168.3.223 VIP二:首先做出双主来以下操作两台机器都要做2.1:首先域名解析: ###vim /etc/hosts (两台都做) 192.168.3.222 master 192.168.3.158 slave 2.2:下载MySQL5.7 ### wget http://repo.mysql.com/mysql57-community-release-e

python实战系列之MySQL主从状态监控(09)

1. 需求说明 由于openstack底层中MySQL使用了主从AB复制,为了监控数据库的主从状态信息,需要对MySQL的主从状态进行监控,从而保障数据库底层正常运行,为openstack提供更好的功能.本文对数据库执行监控,具体内容参考下面. 2. 程序内容 #!/usr/bin/env python #_*_ coding:utf8 _*_ #author:happyliu #用于监控MySQL主从复制状态 import os import sys import os.path import