mysql主从同步监控小脚本(加强版)-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 2090541
  • 博文数量: 195
  • 博客积分: 4378
  • 博客等级: 上校
  • 技术积分: 4046
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 11:37
个人简介

白天和黑夜只交替没交换无法想像对方的世界

文章分类

全部博文(195)

文章存档

2014年(3)

2013年(20)

2012年(18)

2011年(107)

2010年(17)

2009年(5)

2008年(20)

2007年(5)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: python/ruby

2011-11-15 09:31:33

mysql主从同步监控小脚本(加强版):
 
新版本脚本增加了“当发现同步出现无法同步的时候”会自动提取主库的file号,以及pos,进行同步主库,脚本内容如下:
 
  1. #!/bin/sh
  2. #set -x
  3. #file is slave_repl.sh
  4. #author by kevin
  5. #date is 2011-11-13

  6. mstool="/usr/local/mysql-3307/bin/mysql -h 192.168.1.106 -uroot -pw!zl7pog27 -p 3307"
  7. sltool="/usr/local/mysql-3307/bin/mysql -h 192.168.1.107 -uroot -pw!zl7pog27 -p 3307"

  8. declare -a slave_stat
  9. slave_stat=($($sltool -e "show slave status\g"|grep running |awk '{print $2}'))

  10. if [ "${slave_stat[0]}" = "yes" -a "${slave_stat[1]}" = "yes" ]
  11.      then
  12.      echo "ok slave is running"
  13.      exit 0
  14. else
  15.      echo "critical slave is error"
  16.      echo
  17.      echo "*********************************************************"
  18.      echo "now starting replication with master mysql!"
  19.         file=`$mstool -e "show master status\g"|grep "file"|awk '{print $2}'`
  20.         pos=`$mstool -e "show master status\g"|grep "pos"|awk '{print $2}'`
  21.         $sltool -e "slave stop;change master to master_host='192.168.1.106',master_port=3307,master_user='repl',master_password='w!zl7pog27',master_log_file='$file',master_log_pos=$pos;slave start;"
  22.         sleep 3
  23.         $sltool -e "show slave status\g;"|grep running
  24.     echo
  25.     echo "now replication is finished!"
  26.     echo
  27.     echo "**********************************************************"
  28.         exit 2
  29. fi
 
运行后效果,如下图:
 
  1. # ./slave_stop3307.sh
  2. *******************************
  3. now stop slave replication!
  4.            slave_io_running: no
  5.           slave_sql_running: no
  6. *******************************
  7. # ./slave_repl3307.sh
  8. critical slave is error

  9. *********************************************************
  10. now starting replication with master mysql!
  11.            slave_io_running: yes
  12.           slave_sql_running: yes

  13. now replication is finished!

  14. **********************************************************
阅读(10941) | 评论(2) | 转发(3) |
给主人留下些什么吧!~~

2014-07-09 19:13:48

zhangshengdong:哥们,讨论一个问题。

如果:主从不同步了。你现在去找主库的master status的pos和file。
那么之前没有同步的数据。slave不就丢失了吗

所以不如设置 sql_slave_skip_counter=n 1; n之前的 sql_slave_skip_counter值来跳过
然后把错误记录累积记录到一个日志中。

|

zhangshengdong2012-08-07 16:50:39

哥们,讨论一个问题。

如果:主从不同步了。你现在去找主库的master status的pos和file。
那么之前没有同步的数据。slave不就丢失了吗

|
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图