MySQL 主从复制延时监控

#!/bin/bash

USER="root"
PASSWORD="root"
MYSQL="/usr/mysql/mysql-5.6.10/client/mysql"
HOST="10.198.18.18"

thread_status=$($MYSQL -u"$USER" -p"$PASSWORD" -h"$HOST" -e 'show slave status\G' | grep -i yes | wc -l)
status=($($MYSQL -u"$USER" -p"$PASSWORD" -h"$HOST" -e 'show slave status\G' | egrep -i "Master_Log_File|Relay_Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos|Seconds_Behind_Master" | awk -F':' '{print $2}'))

if [[ $thread_status != 2 ]]; then     
    #echo "the replication is fault, at $(date)" > monitor_err.log     
    echo 1     
    exit
fi

if [[ ${status[4]} > '300' ]]; then     
    #echo "the lag is too long, at $(date)" > monitor_err.log     
    echo 2     
    exit
fi

if [[ ${status[0]} == ${status[2]} ]] && [[ ${status[1]} == ${status[3]} ]]; then     
    #echo "the replication is normal"     
    echo 0     
    exit
else     
    #echo "the replication is fault,at $(date)" > monitor_err.log     
    echo 3     
    exit
fi

原文地址:http://blog.51cto.com/ultrasql/2149249

时间: 2024-11-01 13:28:46

MySQL 主从复制延时监控的相关文章

10 : mysql 主从复制 - 延时从库

延时从库 主从复制很好的解决了物理损坏,但是如果主库有个误删除写入的操作怎么办? 正常情况下从库也会同步这个错误的,企业中应该怎么避免这个情况?这个时候就需要使用延时同步来解决: 延时从库?delay(延时)从节点同步数据. 对SQL线程进行延时设置.IO线程正常的执行.企业中一般延迟3-6小时 延时从库的配置过程:mysql>stop slave;mysql>CHANGE MASTER TO MASTER_DELAY = 60; (延时60s)mysql>start slave;mys

编写脚本实现MySQL主从复制状态监控

生产实战案例:监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进程脚本每30秒实现检测一次.阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误.阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分) 解答: #!/bin/sh # No1 define variables array=(1158 1159 1008 1007 1062) Da

mysql 主从复制延迟监控

1.在主从上分别安装percona-toolkit wget https://www.percona.com/downloads/percona-toolkit/2.2.18/RPM/percona-toolkit-2.2.18-1.noarch.rpm yum localinstall percona-toolkit-2.2.18-1.noarch.rpm 2.在主库上执行 pt-heartbeat --user=root --password=******* -S /var/lib/mysq

MySQL主从复制监控shell脚本

########本脚本应用在生产环境中,是运用mysql主从的基础上######## vi mysqlm-s.sh   #!/bin/bash  ip=`ifconfig eth0|sed -n 2p|awk  '{ print $2 }'|awk -F : '{ print $2 }'`  port=`netstat -anl|grep 3306 |sed -n '1p' |awk '{print $4}'|awk -F: '{ print $2}'`  array=($(mysql -uUS

Mysql 主从复制监控脚本

Mysql 主从复制监控脚本, 监控IO和SQL线程.如果问题.发送邮件报警. #!/bin/bash #write by lijun #Date 2014-08-12 #Description monitor the master pass the data to the slave #===================== mail="邮件地址" #=================== #获取slave io 进程和sql进程的状态 b="`mysql -uroot

如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?

高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少.所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗? 如何实现 MySQL 的读写分离? 其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去. MySQL 主从复制原理的是啥? 主库将变更写入 binlog 日志,然后从库连接到主库之后,

zabbix监控mysql主从复制

.监控MySQL的复制 原理:利用在slave上运行show slave status获取Slave_IO_Running和Slave_SQL_Running的值 1.在mysql上新建监控用户 grant replication client on *.* to 'zabbix'@'localhost' identified by 'zabbix'; flush privileges; 2.在/data/zabbix/sbin下新建mysql_slave_status.sh脚本 MySQL 在

mysql主从复制延迟问题的相关知识与解决方案

一.如何监控发生了主从延迟? 在从库机器上,执行show slave status,查看Seconds_Behind_Master值,代表主从同步从库落后主库的时间,单位为秒,若同从同步无延迟,这个值为0. Mysql主从延迟一个重要的原因之一是:mysql是以单线程串行执行. 主从复制数据时,在从服务器上的mysql,是一个线程在同步数据. 串行的方式,它是指,执行一个后才继续执行下一个.如果一个卡住了,要等待时间,才会继续下一个.串行与并行是相反的. 二.同步延迟发生的场景 当主库的TPS并

九爷带你了解 mysql 主从复制的 工作原理

mysql 主从复制原理 主从形式 mysql主从复制 灵活 一主一从 主主复制 一主多从---扩展系统读取的性能,因为读是在从库读取的: 多主一从---5.7开始支持 联级复制--- 用途及条件 mysql主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务 主从部署必要条件: 主库开启binlog日志(设置log-bin参数) 主从server-id不同 从库服务器能连通主库 主从原理 mysql主从复制原理 从库生成两个线程,一个I/O线程,一个SQL线程: i