MySQL主从同步
脚本
[root@test scripts]# cat ss.sh
#!/bin/bash
. /etc/init.d/functions
MYUSER=root
MYPASS=c565f972
SOCKET="/data/3307/mysql.sock"
MYCMD="/application/mysql/bin/mysql -u$MYUSER -p$MYPASS -S $SOCKET"
STATUS=($($MYCMD -e "show slave status\G;"|egrep "Seconds_Behind|_Running|Last_SQL_Errno"|awk '{print $NF}'))
ERRNU=( )
###############Effect#####################
Wait(){
action "MySql Slave is fail !" /bin/false
echo -n "Trying to skip the error ,wait 3s"
for ((i=;i<;i++))
do
echo -n "."
sleep
done
echo
}
Print(){
action "Skip error is ok" /bin/true
action "MySql Slave is ok" /bin/true
read -p "Show slave status{IO|SQL|Seconds_Behind_Master|Last_SQL_Errno} ? please enter yes
/no. :" enter
case $enter in
yes)
echo "=================================================="
$MYCMD -e "show slave status\G;"|egrep "Seconds_Behind|_Running|Last_SQL_Errno"
echo "=================================================="
exit
;;
no)
exit
;;
esac
} ###############Check######################
Check_status(){
if [ "${STATUS[0]}" = "Yes" -a "${STATUS[1]}" = "Yes" -a "${STATUS[2]}" = "" ]
then
action "MySql Slave is ok !" /bin/true
exit
else
sta=
return $sta
fi
}
Check_err(){
Check_status
if [ $? -ne ]
then
Wait #调用前面的函数
for ((a=;a<${#ERRNU[*]};a++))
do
A=`echo ${ERRNU[a]}`
if [ $A -eq "${STATUS[3]}" ]
then
$MYCMD -e "stop slave;"
$MYCMD -e "set global sql_slave_skip_counter = 1;"
$MYCMD -e "start slave;"
fi
done
fi
}
Check_again(){
STATUS=($($MYCMD -e "show slave status\G;"|egrep "Seconds_Behind|_Running|Last_SQL_Errno"|
awk '{print $NF}'))
if [ "${STATUS[0]}" = "Yes" -a "${STATUS[1]}" = "Yes" -a "${STATUS[2]}" = "" ]
then
Print #调用前面的函数,输入yes/no确认有没有跳过错误,看看状态
else
action "MySql Slave is fail" /bin/false
echo "MySql Slave is fail `date +%F\ %T`" >>/tmp/mysql_slave.log
mail -s "MySql Slave is fail `date +%F\ %T`" topaz1618@.com </tmp/mysql_slave.log
fi
} ###############main######################
main(){
Check_err
Check_again
}
main
执行
没有问题的检查结果
[root@test scripts]# sh ss.sh
MySql Slave is ok ! [ OK ]
有问题的检查结果
[root@test scripts]# sh ss.sh
MySql Slave is fail ! [FAILED]
Trying to skip the error ,wait 3s.... #提示正在跳过错误
Skip error is ok [ OK ] #修复成功
MySql Slave is ok [ OK ] #MySQL主从服务好了
Show slave status{IO|SQL|Seconds_Behind_Master|Last_SQL_Errno} ? please enter yes/no.
#敲yes,看状态确认,no会直接退出
:yes
==================================================
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master:
Last_SQL_Errno:
==================================================
You have new mail in /var/spool/mail/root
MySQL主从同步的更多相关文章
- zabbix3.0.4监控mysql主从同步
zabbix3.0.4监控mysql主从同步 1.监控mysql主从同步原理: 执行一个命令 mysql -u zabbix -pzabbix -e 'show slave status\G' 我们在 ...
- MySQL主从同步几个文件
MySQL主从同步: M锁表 M导出S导入 M解锁 M建同步帐号 S获取点位:产生master.info S开启同步 3306: mysql-bin.0000x mysql-bin.index ...
- 监控mysql主从同步状态脚本
监控mysql主从同步状态脚本 示例一: cat check_mysql_health #!/bin/sh slave_is=($(mysql -S /tmp/mysql3307.sock -uroo ...
- Linux下MySQL主从同步配置
Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...
- Mysql主从同步(复制)
目录: mysql主从同步定义 主从同步机制 配置主从同步 配置主服务器 配置从服务器 使用主从同步来备份 使用mysqldump来备份 备份原始文件 ...
- MySQL主从同步原理 部署【转】
一.主从的作用:1.可以当做一种备份方式2.用来实现读写分离,缓解一个数据库的压力二.MySQL主从备份原理master 上提供binlog ,slave 通过 I/O线程从 master拿取 bin ...
- shell脚本修复MySQL主从同步
发布:thebaby 来源:net [大 中 小] 分享一例shell脚本,用于修改mysql的主从同步问题,有需要的朋友参考下吧. 一个可以修改mysql主从同步的shell脚本. 例子 ...
- nagios 实现Mysql 主从同步状态的监控
一.系统环境 主机名 IP nagios 192.168.15.111 mysql_s 192.168.15.21 二.操作步骤 2.1 mysql_s端的配置 2.1.1 编写check_mysql ...
- mysql 主从同步出问题,重新修复从库 - web架构研究
mysql 主从同步出问题,重新修复从库 - web架构研究 mysql 主从同步出问题,重新修复从库 0 昨天由于操作失误,在从库上执行一堆sql之后,导致主从同步错误,并且已 ...
- mysql主从同步配置(windows环境)
mysql主从同步配置(mysql5.5,windows环境) A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...
随机推荐
- VS2010快捷键设置
1.进入工具----选项 对话框 2.选择 环境---->键盘 3. 在 [显示命令包含] 下面的对话框中输入"对齐"关键字,然后就会在这个编辑框下面一个文本窗口中显示关 ...
- mysql函数大全
对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql& ...
- Android SharedPreferences公共类sharedhelper
SimpAndroidFarme是近期脑子突然发热想做的android快速开发的框架,目标是模块化 常用的控件,方便新手学习和使用.也欢迎老鸟来一起充实项目:项目地址 sharedpreference ...
- webBrowser1
HTMLDocument类的引用 using mshtml;
- 使用AccessibilityService执行开机自启动
res/xml/accessibility_service_config.xml <accessibility-service xmlns:android="http://schema ...
- 关于PHP扩展开发(收藏)
一.Linux shell命令: ls –lh 查看文件大小 du –a 查看文件及文件夹大小 -------------------------- nginx ------------- ...
- 基于ArcGIS API for Javascript的地图编辑工具
最近工作上需要用ArcGIS API for Javascript来开发一个浏览器上使用的地图编辑工具,分享一下一些相关的开发经验. 我开发的地图编辑工具是根据ESRI提供的例子修改而来的,参考的例子 ...
- Linux系统编程:基本I/O系统调用
文件描述符 进程每打开一个文件的时候,会获得该文件的文件描述符,而后续的读写操作都把文件描述符作为参数.在用户空间或者内核空间,都是通过文件描述符来唯一地索引一个打开的文件.文件描述符使用int类型表 ...
- 清北 Noip 2016 考前刷题冲刺济南班
2016 10 29 周六 第一天 %%%,%ZHX大神 上午,60分, 下午,爆零orz 2016 10 30 周天 第二天 炒鸡倒霉的一天 %%%,%ZHX大神 据大神第一天的题最简单. 上午,和 ...
- 10个常见的Node.js面试题
如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. ...