• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

share一个自动跳mysql从库下1062异常的脚本

mysql 搞代码 7年前 (2018-06-06) 149次浏览 已收录 0个评论

share一个自动跳mysql从库上1062错误的脚本

  从库突然掉电可能会导致log里的信息没flush到硬盘,于是从库启动之后主从会因为1062(主键重复)而卡住,这里提供一个自动跳1062的脚本

#!/bin/sh  MYSQL=mysql  lastPos=0 while [ 1 ]; do         $MYSQL -uroot -e "show slave status/G" > /tmp/.skip         lastError=`cat /tmp/.skip|grep "Last_SQL_Errno"|awk '{print $2}'`         nowPos=`cat /tmp/.skip|grep "Exec_Master_Log_Pos"|awk '{print $2}'`         if [ $lastError -eq 1062 ]; then                 if [ $lastPos -ne $nowPos ]; then                         echo "blocked, skip one"                         $MYSQL -uroot -e "slave stop; set global sql_slave_skip_counter =1; slave start;"                         lastPos=$nowPos                 else                         echo "sleep one second"                         sleep 1                 fi         elif [ $lastError -eq 0 ]; then                 secondsBehind=`cat /tmp/.skip|grep "Seconds_Behind_Master"|awk '{print $2}'`                 if [ $secondsBehind -eq 0 ]; then                         echo "done"                         break                 else                         echo "$secondsBehind seconds behind server"                         sleep 3                 fi         else                 echo "error $lastError found"                 break         fi done

欢迎大家阅读《share一个自动跳mysql从库下1062异常的脚本》,跪求各位点评,by 搞代码

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:share一个自动跳mysql从库下1062异常的脚本
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址