修复Mysql主从不同步shell

使用第三方工具
MySQL Enterprise Monitor,MySQL企业版监控工具。
MONyog – MySQL Monior and Advisor,MONyog大家都不陌生,windows下比较好用的MySQLGUI提供者,也有相关MySQL监控工具。

脚本监控
#!/bin/bash

### VARIABLES ###
SERVER=`hostname`
SECONDS_BEHIND_MASTER=`/usr/bin/mysql -e "SHOW SLAVE STATUS\G"| grep "Seconds_Behind_Master" | awk -F": " {‘ print $2 ‘}`
SENTFILE_BROKEN=/tmp/mysql_slaverep_broken.sent
SENTFILE_BEHIND=/tmp/mysql_slaverep_behind.sent

### CHECK FOR REPLICATION BREAK ###
if [ "$SECONDS_BEHIND_MASTER" == "NULL" ]; then
# Slave replication is broken

if [ ! -f $SENTFILE_BROKEN ]; then
# This has not been reported before
echo "Slave replication broken on $SERVER"
touch $SENTFILE_BROKEN
fi
else
# Slave replication is not broken

if [ -f $SENTFILE_BROKEN ]; then
# It was broken before which was reported. Clear that state
echo "Slave replication has been restored on $SERVER"
rm $SENTFILE_BROKEN
fi

### CHECK FOR REPLICATION DELAY ###
if [ "$SECONDS_BEHIND_MASTER" -gt "60" ]; then
# Slave replication is delayed

if [ ! -f $SENTFILE_BEHIND ]; then
# This has not been reported before
echo "Slave replication is $SECONDS_BEHIND_MASTER seconds behind master on $SERVER"
touch $SENTFILE_BEHIND
fi
else
# Slave replication is not delayed

if [ -f $SENTFILE_BEHIND ]; then
# It was delayed before which was reported. Clear that state
echo "Slave replication delay has been recovered and is now $SECONDS_BEHIND_MASTER seconds behind master on $SERVER"
rm $SENTFILE_BEHIND
fi
fi

fi

原文地址:https://www.cnblogs.com/luoyan01/p/9733683.html

时间: 2024-10-30 07:07:25

修复Mysql主从不同步shell的相关文章

利用percona-toolkit 工具来检测mysql 主从数据库同步以及实现同步

环境: OS: Cenos6.5_x64 , 主:192.168.100.164 ,从:192.168.100.176 软件: percona-toolkit . mysql56-community 同步的库: dj1 , cnhd , shanhu 备要信息:要尽量保证主从mysql的版本相同,因为5.6以上的版本支持了Gtid的特性,与低版本做从主时,会产生不可以预计的问题. 一.安装: Quick Install -------------    perl Makefile.PL    m

使用Innobackupex快速搭建(修复)MySQL主从架构

MySQL的主从搭建大家有很多种方式,传统的mysqldump方式是很多人的选择之一.但对于较大的数据库则该方式并非理想的选择.使用Xtrabackup可以快速轻松的构建或修复mysql主从架构.本文描述了使用innobackupex快速来搭建或修复主从架构.供大家参考. 1.基于主库做一个完整备份 # mkdir -p /log/bakforslave # innobackupex --user=root -password=*** --socket=/tmp/mysql.sock --def

解决MySQL主从不同步问题

解决mysql主从不同步 今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist;   查看下进程是否Sleep太多.发现很正常. show master status; 也正常. mysql> show master status; +-------------------+----------+--------------+-------------------------------+ | File              | Pos

MySQL主从说明详解、MySQL主从不同步处理方案

MySQL主从说明 同步问题 mysqldump:此工具适用于10G以下数据库或几个表percona-Xtrabackup备份工具:适用于100G-500GLVM快照:更大的数据量,或分库分表 主从复制目的 读写分离,减轻主库负载或数据分析: 数据安全,做备份恢复: 主从切换,做高可用: 常见主从结构: 一主一从:一个Master,一个Slave一主多从:一个Master,多个slave Master节点:负责所有的[写]请求Slave节点:负责大部分的[读]请求 主从复制步骤 A数据更新 A写

MySQL主从数据库同步延迟问题解决(转)

最近在做MySQL主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些讲解,记录下来以便自己学习: MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器. MySQL主从同步故障-Slave_SQL_Running: No http://www.linuxidc.com/Linux/2014-0

Mysql主从不同步问题处理案例

在使用Mysql的主从复制架构中,有两个比较头疼的问题: 1.主从数据不同步后如何处理 2.主从同步延迟问题如何解决 本文将根据实际案例来分析下问题1,至于问题2多数文档介绍的办法是启用多线程复制来解决,言归正传,这里的问题1还可以细分成两种情况. 1.Slave_IO_Running和Slave_SQL_Running在YES情况下,主从数据不同步如何处理? 2.Slave_SQL_Running在NO情况下,主从数据不同步如何处理? 出现第一种情况通常原因是手工去修改了从库的数据导致主从数据

Mysql主从不同步问题处理

由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:binlog或者relay log数据损坏 数据不同步给应用带来的危害是致命的,当出现主从数据不一致的情况,常见的应对方法是先把从库下线,然后找个半夜三更的时间把应用停掉,重新执行同步,如果数据库的体积十分庞大,那工作量可想而知,会让人崩溃.本文介绍使用percona-toolkit工具对mysql主从

使用Percona Toolkit解决Mysql主从不同步问题【备忘】

由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:binlog或者relay log数据损坏 数据不同步给应用带来的危害是致命的,当出现主从数据不一致的情况,常见的应对方法是先把从库下线,然后找个半夜三更的时间把应用停掉,重新执行同步,如果数据库的体积十分庞大,那工作量可想而知,会让人崩溃.本文介绍使用percona-toolkit工具对mysql主从

mysql主从不同步的解决方式

上一篇说道,在应用层php做mysql读写分离的适合,我们用脚本监控发现主从不同步.这个适合我们就要手工的去把所有的操作都切换到住上去然后等主从重新同步: 主从同步恢复的方式,根据数据量的不同,我们总结一下两点 第一种:在数据差别不大,一致性要求不高的情况下,可以直接忽略错误直接手动恢复. stop slave; #表示跳过一步错误,后面的数字可变 set global sql_slave_skip_counter =1; start slave; 之后再用mysql> show slave s