作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
#!/bin/sh
#
# created by yejr, 2007/06/03
#
# 本脚本用于监控MySQL 复制是否运行,并且根据具体的错误代码自动判断是否忽略
#
now=`date +"%Y%m%d%H%M%S"`
StatFile="./slave_status.$now"
echo "show slave status\G" | mysql -uroot -pmypasswd > $StatFile
#取得 io_thread, sql_thread, last_errno 的状态
IoStat=`cat $StatFile | grep Slave_IO_Running | awk '{print $2}'`
SqlStat=`cat $StatFile | grep Slave_SQL_Running | awk '{ print $2}'`
Errno=`cat $StatFile | grep Last_Errno | awk '{print $2}'`
Behind=`cat $StatFile | grep Seconds_Behind_Master | awk '{print $2}'`
#IoStat=`cat $StatFile | head -n 12 | tail -n 1 | awk '{print $2}'`
#SqlStat=`cat $StatFile | head -n 13 | tail -n 1 | awk '{print $2}'`
#Errno=`cat $StatFile | head -n 20 | tail -n 1 | awk '{print $2}'`
if [ $IoStat = 'No' ] || [ $SqlStat = 'No' ] ; then
echo "[chkslave]"
date#如果错误代码为 0,则可能是因为网络等原因导致复制中断,直接重新启动复制即可if [ "$Errno" -eq 0 ] ; thenecho "start slave io_thread; start slave sql_thread;" | mysql -uroot -pmypasswdecho "start slave io_thread; start slave sql_thread;"#如果是一些不是很要紧的错误代码,也可以直接略过elif [ "$Errno" -eq 1007 ] || [ "$Errno" -eq 1053 ] || [ "$Errno" -eq 1062 ] || [ "$Errno" -eq 1213 ] \
|| [ "$Errno" -eq 1158 ] || [ "$Errno" -eq 1159 ] || [ "$Errno" -eq 1008 ] ; thenecho "stop slave; set global sql_slave_skip_counter=1; slave start;" | mysql -uroot -pmypasswdecho "stop slave; set global sql_slave_skip_counter=1; slave start;"elseecho `date` "slave is down!!!"fi# 远远落后于 masterif [ $Behind -gt 200 ] ; thenecho `date` "slave is behind master $Behind seconds!!!"fi
#删除临时状态文件
rm -f $StatFile
echo "[/chkslave]"
fi
本脚本在 linux/freebsd 平台下均试验过。
本文出自 “MySQL中文网”博客 http://www.imysql.cn/

MySQL复制 自动监控脚本相关推荐

  1. 更新MySQL复制 自动监控脚本

    具体代码请见: MySQL复制 自动监控脚本 增加了判断slave落后于master多少秒的机制. 本文出自 "MySQL中文网"博客 http://www.imysql.cn/ ...

  2. mysql自动监控_MySQL复制 自动监控脚本

    作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. #!/bin/sh # # created by yejr, 2 ...

  3. linux inotifywait脚本,使用inotify/fswatch构建自动监控脚本

    自动告警脚本 最近项目上有这样一个需求:系统中有一个后台服务会不断的生成监控日志,根据系统的运行情况,它每天会在目录/var/alarms下生成一个文件,文件名带有时间戳,其中内容格式如下: $cat ...

  4. MySQL慢日志监控脚本

    #!/bin/bash # 本脚本用来在指定频率内监控 MySQL 慢日志的变化,并在发生增长时及时报警 MON_FILE="$2"   # 指定所要监控的脚本路径 SEC=60 ...

  5. MySQL数据库自动备份脚本

    1.自动备份脚本 #备份文件后缀时间 time="$(date +"%Y%m%d$H")" #备份路径和备份的数据库 #把 root替换为实际的用户名: #把 ...

  6. mysql数据库自动备份脚本(详解)

    脚本内容: #!/bin/bash #功能说明:本功能用于备份mysql数据库 #编写日期:2018/05/17 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/loc ...

  7. ubuntu mysql自动备份_Ubuntu下mysql数据库自动备份脚本

    1.创建保存备份文件的目录:/home/mysql_datasudo mkdir mysql_data 2.创建备份脚本文件:/home/mysql_data/mysql_databak.shtouc ...

  8. windows环境mysql数据库自动备份

    1:mysql数据库备份命令 执行 mysqldump -u username -p database > c:/bak.sql 再次输入mysql密码,导出完成! 2:编写bat脚本 @ech ...

  9. mysql 自动复制_MySQL 复制搭建(附mysql自动搭建脚本)

    # MySQL 复制搭建(附mysql自动搭建脚本) 1. 用自动化脚本拉起一个mysql数据库,作为主库 `[root@upright92 mysql]# ./install_mysql.py 33 ...

  10. zabbix 4.2官方自动监控网络服务端口脚本

    自动监控网络服务 监视网络服务及其连接是非常重要的.在任何特定时间,服务器上运行的服务有数百个,如果不是数千个的话.其中许多都必须可以通过网络联系到.Web服务通常需要在端口80和/或443上可用,F ...

最新文章

  1. css3中的box-sizing属性
  2. mysql两个表条件_mysql – 在另一个表中选择具有多个条件的...
  3. Android 抓取app进程 hprof 文件
  4. 怎么用matlab处理数据,如何用Matlab处理.wfm格式的数据
  5. c++指针总结(易混淆)
  6. [Leedcode][JAVA][第1014题][最佳观光组合][数组][暴力优化]
  7. reentrantlock非公平锁不会随机挂起线程?_程序员必须要知道的ReentrantLock 及 AQS 实现原理...
  8. 【LeetCode】【HOT】148. 排序链表(归并排序)
  9. BZOJ4278 : [ONTAK2015]Tasowanie
  10. 【NLP】Stanford
  11. linux ip协议栈 漏洞,【漏洞预警】雪藏11年:Linux kernel DCCP double-free 权限提升漏洞(CVE-2017-6074)...
  12. zip4j实现文件压缩与解压缩 common-compress压缩与解压缩
  13. mysql数据库左连接
  14. 竖版1:2500万标准中国地图
  15. JAVA 生成随机数两种方式
  16. 【硬见小百科】PCB多层板各层含义与设计原则
  17. 购买一台计算机需要哪些配件,组装一台电脑需要哪些配件【详细列举】
  18. 一支手可以代表多大的数呢? 2 的 19 次方。
  19. python3思维导图.xmind_Xmind和FreeMind思维导图格式互转
  20. x64dbg安装xAnalyzer插件失败问题解决

热门文章

  1. iOS 使用FMDB进行数据库操作
  2. Sampleson Reed106 Mac - Sampleson系列插件中一款出色的电钢琴模拟插件
  3. 简约通用工作总结ppt模板
  4. Android屏幕适配之--通过修改系统的屏幕像素比来实现屏幕的适配效果
  5. 动手写个数字输入框2:起手式——拦截非法字符
  6. 矩形嵌套-记忆化搜索(dp动态规划)
  7. 「leetcode」15. 三数之和:双指针法
  8. void value not ignored as it ought to be 报错原因
  9. 提升写作效率,让 Word 更好地为你所用
  10. 在 Mac 上拷贝(复制)、粘贴的方法