• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > linux下MySQL主从同步监控shell脚本

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

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了linux,MySQL,shell等相关知识,希望本文的分享对您有所帮助
说明:

操作系统:CentOS

目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态

1、创建脚本文件

vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代码

#!/bin/sh

# check_mysql_slave status

# author www.osyunwei.com

ip=eth0 #网卡名称

mysql_binfile=/usr/local/mysql/bin/mysql

mysql_user=root #MySQL数据库账号

mysql_pass=123456 #密码

mysql_sockfile=/tmp/mysql.sock

datetime=`date +"%Y-%m-%d/%H:%M:%S"` #获取当前时间

mysql_slave_logfile=/home/logs/check_mysql_slave.log #日志文件路径,必须提前创建好

slave_ip=`ifconfig $ip|grep "inet addr" | awk -F[:" "]+ '{print $4}'`

status=$($mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "show slave status\G" | grep -i "running")

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

Slave_SQL_Running=`echo $status | grep Slave_SQL_Running | awk '{print $2}'`

if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]

then echo "Slave is Running!"

else

echo " $datetime $slave_ip Slave is not running!" >> $mysql_slave_logfile

$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "SLAVE STOP;"

$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;"

$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "SLAVE START;"

$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "EXIT"

fi

:wq! #保存退出

chmod +x /home/crontab/check_mysql_slave.sh #添加脚本执行权限

2、添加任务计划,修改/etc/crontab

vi /etc/crontab #在最后一行添加

*/10 * * * * root /home/crontab/check_mysql_slave.sh #表示每10分钟执行一次

:wq! #保存退出

3、重新启动crond使设置生效

/etc/rc.d/init.d/crond restart #yum install -y vixie-cron安装计划任务,某些系统上可能没有预装

chkconfig crond on #设为开机启动

service crond start #启动

可以根据日志文件/home/logs/check_mysql_slave.log查看MySQL主从同步状态

至此,Linux下MySQL主从同步监控shell脚本完成。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 解析远程连接管理其他机器上的MYSQL数据库
  • 解析Mysql备份与恢复简单总结与tee命令的使用介绍
  • mysql基础:mysqld_safe 启动执行流程详解
  • 深入mysql存储过程中表名使用参数传入的详解
  • 深入解析mysql.sock不见的问题
  • 基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析
  • Mysql查看版本号的五种方式介绍
  • MySQL 主主同步配置步骤
  • linux下mysql提示"mysql deamon failed to start"错误的解决方法
  • 配置mysql允许远程连接的方法

相关文章

  • 2018-12-05MySQL 视图 第1349号错误解决方法
  • 2018-12-05推荐10款涉及参数特效(收藏)
  • 2018-12-05rac rman备份因归档不可访问出错RMAN-06059 RMAN-03002 ORA-1962
  • 2018-12-05详解MySQL的replication双向备份配置
  • 2018-12-05SQL语句的MINUS,INTERSECT和UNION ALL的解析
  • 2018-12-05 在Windows上以服务方式运行 MSOPenTech/Redis
  • 2018-12-05有关time_zone的文章推荐10篇
  • 2018-12-05MySQL之—如何添加新数据库到MySQL主从复制列表的具体介绍
  • 2017-05-11一键重置mysql的root密码脚本
  • 2018-12-05在安装了Sql2000的基础上安装Sql2005的详细过程 图文

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • master and slave have equal MySQL server ids
    • You must SET PASSWORD before executing this statement的解决方法
    • MySQL索引类型与优缺点
    • 修改MySQL的时区,涉及参数time_zone
    • mysql处理添加外键时提示error 150 问题的解决方法
    • 微软azure的mysql database服务器怎么修改系统时间呢
    • Oracle与Mysql主键、索引及分页的区别小结
    • 彻底删除免安装版mysql
    • 详解MySQL中UNION的用法
    • MySQL数据库之信息函数与加密函数

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有