我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Shell脚本实现监控MySQL主从同步

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Shell脚本实现监控MySQL主从同步

这篇文章主要介绍“怎么用Shell脚本实现监控MySQL主从同步”,在日常操作中,相信很多人在怎么用Shell脚本实现监控MySQL主从同步问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Shell脚本实现监控MySQL主从同步”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

代码如下:


#!/bin/bash
#check MySQL_Slave Status
#crontab time 00:10
MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $4}'`
MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
STATUS=$(/usr/local/webserver/mysql/bin/mysql -u yuhongchun -pyuhongchun101 -S /tmp/mysql.sock -e "show slave status\G" | grep -i "running")
IO_env=`echo $STATUS | grep IO | awk  ' {print $2}'`
SQL_env=`echo $STATUS | grep SQL | awk  '{print $2}'`
DATA=`date +"%y-%m-%d %H:%M:%S"`
if [ "$MYSQLPORT" == "3306" ]
then
  echo "mysql is running"
else
  mail -s "warn!server: $MYSQLIP mysql is down" yuhongchun027@163.com
fi
if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
then
  echo "Slave is running!"
else
  echo "####### $DATA #########">> /data/data/check_mysql_slave.log
  echo "Slave is not running!" >>    /data/data/check_mysql_slave.log
  echo "Slave is not running!" | mail -s "warn! $MYSQLIP MySQL Slave is not running" yuhongchun027@163.com
fi

建议每十分钟运行一次

代码如下:


*/10 * * * * root /bin/sh /root/mysql_slave.sh

记得在每台MySQL从机上分配一个yuhongchun的用户,权限大些也没关系,只限定在本地运行,如下所示:

代码如下:


grant all privileges on *.* to "yuhongchun"@"127.0.0.1" identified by "yuhongchun101";
grant all privileges on *.* to "yuhongchun"@"localhost" identified by "yuhongchun101";

脚本设计思路:

此脚本应该能适应各种各样不同的内外网环境,即IP不同的环境;
2、让脚本也顺便监控下MySQL是否正常运行;
3、Slave机器的IO和SQL状态都必须为YES,缺一不可,这里用到了多重条件判断-a。

脚本产生的背景环境:

我有不少基于公网类型的网站(没有硬件防火墙,直接置于IDC机房)做的都是MySQL主从架构,从机主要起备份数据库和冷备份的作用,虽然从机宕机了问题不大,但也影响数据的备份工作;这样的网站有数十个,如果一个一个手动的检查,每天都要浪费不少时间,所以玩了下脚本控,设计了如上脚本。

脚本实践:

此脚本我已用于了生产环境,大家可以放在我们的从MySQL机器上,用来监控;另外建议有时也手动检查下,有次发现rsync --delete 自动删除了/data/data里面的数据,即从数据库的位置,脚本没有报警。

后期应用:

后期公司的MySQL数据库准备由一主一从架色升级成一主多从,读写分离的架构,LVS作从数据库的负载均衡器,此脚本自动监控从MySQL的replication状态,如果不能同步则自动关闭本机的MySQL服务,免得影响整个网站的正常业务访问。当然了,到时脚本的运行周期肯定也需要更改,由10分钟变成秒级的,这个可以通过while循环来实现。

到此,关于“怎么用Shell脚本实现监控MySQL主从同步”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Shell脚本实现监控MySQL主从同步

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell脚本实现监控MySQL主从同步

代码如下:#!/bin/bash#check MySQL_Slave Status#crontab time 00:10MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "
2022-06-04

怎么用Shell脚本实现监控MySQL主从同步

这篇文章主要介绍“怎么用Shell脚本实现监控MySQL主从同步”,在日常操作中,相信很多人在怎么用Shell脚本实现监控MySQL主从同步问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Shell脚本实
2023-06-09

Linux下MySQL主从同步监控shell脚本

说明:操作系统:CentOS目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态1、创建脚本文件vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代
2022-06-03

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

本节内容:监控mysql主从复制的shell脚本。 说明:监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试,需要的一些准备工作可以查看这篇文章 代码:#监控mysql 主从复制cat chk_mysql_rep.sh
2022-06-04

怎么用shell脚本监控mysql主从状态

这篇文章主要介绍“怎么用shell脚本监控mysql主从状态”,在日常操作中,相信很多人在怎么用shell脚本监控mysql主从状态问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用shell脚本监控mys
2023-06-09

Shell脚本中如何实现DNS主从同步脚本

这篇文章给大家分享的是有关Shell脚本中如何实现DNS主从同步脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DNS主从同步脚本实例PS:两个服务器起好后最好两个服务都重启一下主服务器配置#!/bin/bas
2023-06-09

mysql主从同步怎么实现

mysql 主从同步实现什么是 MySQL 主从同步?MySQL 主从同步是一种数据复制机制,其中一台服务器(主服务器)将数据更改复制到一台或多台其他服务器(从服务器)。如何实现 MySQL 主从同步?先决条件:主服务器和从服务器之
mysql主从同步怎么实现
2024-05-22

怎么用shell脚本实现LINUX下的流量监控

本篇内容主要讲解“怎么用shell脚本实现LINUX下的流量监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用shell脚本实现LINUX下的流量监控”吧!一、脚本源码# vi /etc/
2023-06-09

怎么用Shell脚本实现监控kingate并自动启动

本篇内容介绍了“怎么用Shell脚本实现监控kingate并自动启动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!自己在vps做的kinga
2023-06-09

使用shell脚本怎么实现服务器进程监控

使用shell脚本怎么实现服务器进程监控?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序说明:1)通过将系统定义的进程(timer)配置到配置文件proces
2023-06-09

怎么用Shell脚本实现监控iptables规则是否被修改

这篇文章主要介绍“怎么用Shell脚本实现监控iptables规则是否被修改”,在日常操作中,相信很多人在怎么用Shell脚本实现监控iptables规则是否被修改问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
2023-06-09

怎么利用Shell脚本实现邮件监控Linux系统的内存

这篇文章给大家介绍怎么利用Shell脚本实现邮件监控Linux系统的内存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)**1、下载安
2023-06-28

shell脚本怎么实现监控php-fpm并自动重启服务

这篇文章主要讲解了“shell脚本怎么实现监控php-fpm并自动重启服务”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell脚本怎么实现监控php-fpm并自动重启服务”吧!脚本代码:
2023-06-09

mysql主从只同步部分库或表怎么实现

今天小编给大家分享一下mysql主从只同步部分库或表怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。同步部分数据有两个
2023-07-02

怎么使用Shell脚本实现监测文件变化

这篇文章主要讲解了“怎么使用Shell脚本实现监测文件变化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Shell脚本实现监测文件变化”吧!代码完整的shell脚本如下,可以直接使用
2023-07-02

编程热搜

目录