如何自动化监控mysql主从服务
-- 第一步创建目录
mkdir -p /tmp/mysql/masterslave #日志存放目录
在/root下面创建sh目录 #存放执行的SHELL脚本

-- 第二步编写SHELL文件
#!/bin/sh
# 2017-01-16
# send mail to a@163.com

# Defined Variables
MysqlUser=root
MysqlPass=111111
MysqlPort=3306
ErrorNo=(1158 1159 1008 1007 1062)
errorlog=/tmp/mysql/masterslave/error_skip.log
rightlog=/tmp/mysql/masterslave/right.log
MysqlCmd="/usr/bin/mysql -u$MysqlUser -p$MysqlPass"

# Defined skip error Functions
function error_skip(){
local flag
flag=0
for num in ${ErrorNo[@]}
do
if [ "$1" == "$num" ];then
$MysqlCmd -e'stop slave;set global sql_slave_skip_counter=1;start slave;'
echo "$(date +%F_%R) $1" >>$errorlog
else
echo "$(date +%F_%R) $1" >>$errorlog
((flag++))
fi
done
[ "$flag" == "${#ErrorNo[@]}" ] &&{
uniq $errorlog|mail -s "MySQL Slave is error" a@163.com
}
}

# Defined check slave Functions
function check_slave(){
MyResult=`$MysqlCmd -e'show slave status\G'|egrep '_Running|Behind_Master|SQL_Errno' |awk '{print $NF}'`
array=($MyResult)
if [ "${array[0]}" == "Yes" -a "${array[1]}" == "Yes" -a "${array[2]}" == "0" ]
then
echo "$(date +%F_%R) $1" >>$rightlog
else
error_skip ${array[3]}
fi
}

# Defined Main Functions
function main(){
while true
do
check_slave
done
}
main

-- 第三步利用定时任务,重复执行该shell文件
-- 每隔10分钟更新一次
0-59/10 * * * * /root/sh/jk2.sh

0116MySql主从复制监控的更多相关文章

  1. zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态

    zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...

  2. MYSQL性能优化之Mysql数据库监控

    监控对象 数据库可用性监控数据库进程或是端口存在并不意味着数据库就是可用的 也就是说登陆服务器,并且能正确执行mysql命令 数据库性能 QPS和DPS并发线程数量(同时执行sql语句的数量,不是连接 ...

  3. Shell企业案例实战和企业面试题

    shell企业面试题 1.批量创建带有随机小写字符文件程序 使用for循环在/pizza目录下创建10个html文件,其中每个文件包含10个随机小写字母加固定字母_pizza 1.思路分析: 核心是: ...

  4. MySQL性能管理及架构设计

    第1章 实例和故事 1-1 什么决定了电商双11大促的成败 老板可能会说:"是我们的英明决策和运筹帷幄". 运营和产品可能会说:"是由于我们的活动策划和产品设计" ...

  5. MySQL6

    MySQL数据库6 1. 集群概述 性能达到瓶颈的解决方案 Scale Up 向上扩展能力,如增加更好的硬件固态磁盘,加大内存等,成本高,效果不显著 Scale Out 向外扩展,例如建立更多的服务器 ...

  6. Zabbix5.0Yum安装

    1.1.操作系统配置: 1.操作系统属性(虚拟机下环境): (1)操作系统版本: [root@localhost ~]# cat /etc/redhat-release CentOS Linux re ...

  7. shell监控脚本实例—监控mysql主从复制

    分享一例shell脚本,用于监测mysql数据库的主从复制,有需要的朋友不妨参考学习下. 转自:http://www.jbxue.com/article/14103.html(转载请注明出处) 本节内 ...

  8. Nagios监控mysql主从复制

    因为公司的nagios用了很久监控项目很多,也在zabbix迁移中,也就先临时用nagios监控mysql主从了 mysql> show slave status\G 查看其输出,即可判定主从复 ...

  9. CentOS下编写shell脚本来监控MySQL主从复制的教程

    这篇文章主要介绍了在CentOS系统下编写shell脚本来监控主从复制的教程,文中举了两个发现故障后再次执行复制命令的例子,需要的朋友可以参考下 目的:定时监控MySQL主从数据库是否同步,如果不同步 ...

随机推荐

  1. js 文字预写匹配

    效果图: demo如下: <!DOCTYPE html> <html> <head> <title>文字预写</title> </he ...

  2. CQRS架构

    CQRS架构 命令查询的责任分离Command Query Responsibility Segregation (简称CQRS)模式是一种架构体系模式,能够使改变模型的状态的命令和模型状态的查询实现 ...

  3. iOS UIWebView键盘操控

    +-------------------------+ 假设你有以下的问题,也许这篇文章将帮助你. 键盘遮盖了UIWebView. 怎样拖动UIWebView来移除键盘. 键盘出现时UIWebView ...

  4. Redis API与常用数据类型简介

    Redis API与常用数据类型简介 一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些 ...

  5. document对象属性documentMode与CompatMode

    DOCTYPE DOCTYPE全称Document Type Declaration(文档类型声明,缩写DTD) DTD的声明影响浏览器对于CSS代码及Javascript脚本的解析. 渲染模式 渲染 ...

  6. Effective C++(16) 成对使用new和delete时要采取相同的形式

      问题聚焦:     我们都知道,new和delete要成对使用,但是有时候,事情往往不是按我们预期的那样发展.     对于单一对象和对象数组,我们要分开考虑     遇到typedef时,也需要 ...

  7. IOS UI 第一篇:基本UI

    1. UI 书写 最基本创建一个label 标签 写一个first rate :      UILabel *label = [[UILabel alloc] initWithFrame:CGRect ...

  8. Weblogic Server 的下载,安装配置与部署

    下载 下载页面: http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html 目前 ...

  9. iOS基础 - Copy

    copy和mutableCopy 一个对象使用copy或mutableCopy方法可以创建对象的副本 copy – 需要先实现NSCoppying协议,创建的是不可变副本(如NSString.NSAr ...

  10. N个骰子的点数和的概率分布

    程序设计思路: 假设有n个骰子,关键是需要统计每个点数出现的次数.首先分析第一个骰子点数和有1到6的点数,计算出1到6的每种点数 的次数,并将结果用一个数组pos1记录.然后分析有两个骰子时, 点数为 ...