mysql做了主从同步之后,偶尔出现过几次主从同步报错或延迟,由于没有任何监控和报警机制,只有在应用程序报错的时候才能发现数据同步出问题了。所以写了个shell脚本用来检测mysql数据库的同步状态

#!/bin/bash

#monitor_mysql_slave status

USERNAME=xx

#如果密码中包含特殊字符,可以加引号,避免转义

PASSWORD='xx'

SLAVE_HOST=ip

SLAVE_PORT=port

MYSQL="mysql -u$USERNAME -p$PASSWORD"

SLAVE="$MYSQL -h $SLAVE_HOST -P $SLAVE_PORT"

EMAIL_ADDR=zhangsan@qq.com

datetime=`date +"%Y-%m-%d %H:%M:%S"`

#查看从服务器状态

MySQL_Status=`$SLAVE -e "SHOW SLAVE STATUS\G" | grep -E "Running|Seconds_Behind_Master"|head -n3 `

#从服务器的二个进程信息

Slave_IO_Running=`echo $MySQL_Status | grep Slave_IO_Running |awk '{print $2}'`

Slave_SQL_Running=`echo $MySQL_Status |grep Slave_SQL_Running |awk '{print $4}'`

Seconds_Behind_Master=`echo $MySQL_Status |grep Seconds_Behind_Master |awk '{print $6}'`

if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" -a "$Seconds_Behind_Master" -lt "10"]

then

echo "Replication OK"

else

SUBJECT="ERRORS in replication"

BODY="$datetime $SLAVE_HOST MySQL slave replication error"

echo $SUBJECT

echo $BODY

#发送报警邮件

echo $BODY | mail -s "$SUBJECT" -t $EMAIL_ADDR

fi

编写好了之后,保存。授予可执行权限 chmod +x 文件名 ,然后执行即可。如果有错误,可使用sh -x 文件名 进行调试。

也可将该脚本加入到定时任务中,定时执行

使用crontab -e 命令,将下方的命令加入到定时任务中

定时任务每15分钟执行一次

*/15 * * * * /usr/local/xx.sh

重启crontab

这是个简单的检测MySQL同步状态的脚本,而且单纯的依靠 Slave_IO_Running和Slave_SQL_Running,Seconds_Behind_Master的值来判断主从同步是否延迟是不准确的。推荐使用专门的工具进行监控,比如percona-toolkit 等

监控mysql主从复制监控_shell脚本监控mysql主从同步状态相关推荐

  1. 用shell脚本给mysql插入数据_shell脚本向mysql表批量插入数据

    如何使用shell向mysql数据库表中插入大量测试数据. 用shell脚本通过while循环批量生成mysql测试数据的方法,根据自己的表结构来生成sql语句即可. 代码: 复制代码 代码示例: # ...

  2. 监控mysql主从同步状态是否异常

    监控mysql主从同步状态是否异常 参考文章: (1)监控mysql主从同步状态是否异常 (2)https://www.cnblogs.com/liuyansheng/p/8056268.html 备 ...

  3. 运维之道 | Zabbix监控mysql主从同步状态并设置触发微信告警

    一.主机规划 服务器 IP zabbix-server 192.168.1.111 mysql-master.zabbix-agent 192.168.1.115 mysql-slave.zabbix ...

  4. 监控mysql主从的工具_zabbix利用percona-toolkit工具监控Mysql主从同步状态

    一.下载percona-toolkit工具包 percona-toolkit是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等. [root ...

  5. mysql使用shell脚本部署_shell脚本部署mysql主从

    centos6两台 Master IP:192.168.88.152 Slave IP:192.168.88.153 以下都是在主机上操作 两机配置免密登录 ssh-keygen -t rsa ssh ...

  6. mysql主从脚本_shell脚本部署mysql主从

    centos6两台 Master IP:192.168.88.152 Slave IP:192.168.88.153 以下都是在主机上操作 两机配置免密登录 ssh-keygen -t rsa ssh ...

  7. mysql 主从复制 和基于gtid的mysql主从复制

    主从复制 原理: mysql 无需借助第三方工具,而是其自带的同步复制功能,另外一点,mysql 的主从 复制并不是从硬盘给上文件直接同步,而是逻辑的 binlog 日志同步到本地的应用执行的过 程. ...

  8. php mysql 主从复制_Windows 环境下,MySQL 的主从复制和主主复制

    Mysql的主从配置 1.找到配置文件 找到配置文件是主从复制的第一个难点.很多新手都容易找错配置文件,一般my.ini配置文件所在的位置都是隐藏的. 一般人都以为配置文件为 C:\Program F ...

  9. mysql 主从复制 有数据库_mysql 数据库一对一主从(master-slave)复制

    提要:网上查了资料说主从数据库要版本一致,我这里由于之前的安装原因数据库版本并不一致,而且主服务器(master)安装在windows,从服务器(slave)安装在Linux 数据库版本: 主:10. ...

最新文章

  1. mysqlsla slow-query常用用法
  2. CMake结合Visual Studio中开发Qt应用程序注意事项
  3. B站一季度营收超预期,月活跃用户达1.72亿
  4. 【线索二叉树详解】数据结构06(java实现)
  5. 云服务器一般选什么系统,云服务器一般选择什么系统好
  6. 四边形可以分为几类_“平行四边形法则”:谁总结这么奇异的书法规律?
  7. Linux 使用pid文件结束nginx
  8. HTTP权威指南阅读记录 - 第一章
  9. php获取mysqli_query内容,PHP mysqli_query() 函数 - PHP 基础教程
  10. 谷歌浏览器插件迁移到火狐浏览器
  11. windows聚焦失效的解决办法
  12. 【后端学习之路】Browsers and how they work?
  13. 旧台式电脑改软路由过程记录
  14. 使用wifi网卡笔记1----网卡选型、开发环境搭建、内核配置
  15. vue组件通讯:父传子、子传父、事件发射详解
  16. 为Windows 7的winsxs文件夹瘦身,慎重。
  17. ESP8266串口WiFi扩展板详解
  18. python: python环境搭建
  19. stm32解锁电调、电机速度控制
  20. 2022年湖南省自考考试学前儿童发展练习题及答案

热门文章

  1. Pytorch(一) --线性模型
  2. 机器学习之基于SVM实现多类人脸识别
  3. 权值线段树小结(hdu多校,普通平衡树,郁闷的出纳员)
  4. python def函数报错详解_Python函数详解
  5. wamp增加php,新版PHPWAMP自定义添加PHP版本方法步骤
  6. hyperstudy联合matlab,HyperStudy对后处理排气管道参数的灵敏度分析及优化设计
  7. 输入输出系统1 ----- 特性 输出输出方式
  8. 计算机基础access数据库操作题,2021年3月全国计算机等级考试二级Access数据库程序设计题库及答案讲解...
  9. python正则表达式快速入门_Python学习笔记——正则表达式入门
  10. 『数据库』数据库系统效率Max--数据库并发控制