zoukankan      html  css  js  c++  java
  • mysql主从监控

    	要求:检测myslq从库状态,跳过固定的错误号,每隔30秒检测一次,如果符合条件自动跳过或者是重启从库
    	1)取出mysql从库的关键字
    	[root@localhost scripts]# mysql -u root -p123qq.com3307 -S /data/3307/mysql.sock -e "show slave statusG"|grep -E "Running|Seconds_Behind_Master|Last_SQL_Errno"|awk '{print $NF}'
    	Yes
    	Yes
    	0
    	0
    	2)把错误号定义在数组里面
    	3)while ture
    	根据思路调试出如下脚本。。。。。
    	[root@localhost scripts]# cat check_mysql_slave.sh 
    	#/bin/bash
    	#Date:     2015-12-14 22:37
    	#Author:   create by  李兴利
    	#Mail:     1162572407@qq.com
    	#Function: This scripts  function is check mysql slave is ok
    	#Version:  1.1
    	qq="564039852@qq.com"
    	cmd="mysql -u root -p123qq.com3307 -S /data/3307/mysql.sock -e"
    	ip=`ifconfig eth2|sed -n 's#^.*ddr:(.*) Bc.*$#1#gp'`
    	skip=`$cmd "stop slave;set global sql_slave_skip_counter=1;start slave;"`
    	error_numb=(1158 1159 1008 1007 1062)
    	while true
    	do
    	status=(`$cmd "show slave statusG"|grep -E "Running|Seconds_Behind_Master|Last_SQL_Errno"|awk '{print $NF}'`)
    	
    	   if [ "${status[0]}"  == "Yes" -a "${status[1]}" == "Yes" -a "${status[2]}" == "0" ]
    	       then
    	           echo  "mysql slave is ok"
    	       else
    	           for ((n=0;n<${#error_numb[*]};n++))
    	           do
    	              if [ "${status[3]}" == "${error_numb[n]}" ];then
    	              ${skip}
    	              else
    	               $cmd "stop slave;start slave;"
    	              fi
    	           done
    	           echo  "mysql salve is not ok"
    	           echo "${ip} mysql is not ok"|mail -s "mysql slave error at `date +%F%T`" $qq
    	   fi
    	sleep 3
    	done
    	[root@localhost scripts]# 
    	测试结果如下
    	[root@localhost scripts]# sh check_mysql_slave.sh 
    	mysql salve is not ok
    	mysql slave is ok
    	mysql slave is ok
    	mysql slave is ok
    	mysql slave is ok
    	mysql slave is ok
    	mysql slave is ok
    	mysql slave is ok
    	mysql slave is ok
    	mysql slave is ok
    	mysql slave is ok
    

    更多内容请访问 李兴利博客
  • 相关阅读:
    系统分析师思维导图
    系统分析师案例分析知识点——虚拟内存篇
    系统分析师案例分析知识点——进程管理问题
    系统分析师案例分析知识点——进程同步问题
    200行代码实现RPC框架
    由vue3引起的一段值得记录经历
    PetaPoco在ASP.NET Core 2.2中使用注入方式访问数据库
    在.net core 中PetaPoco结合EntityFrameworkCore使用codefirst方法进行开发
    Quartz.NET的简单任务管理类
    System.Action的使用(lambda 表达式)
  • 原文地址:https://www.cnblogs.com/lixingli/p/5539054.html
Copyright © 2011-2022 走看看