程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> share一個自動跳mysql從庫上1062錯誤的腳本

share一個自動跳mysql從庫上1062錯誤的腳本

編輯:MySQL綜合教程


share一個自動跳mysql從庫上1062錯誤的腳本    從庫突然掉電可能會導致log裡的信息沒flush到硬盤,於是從庫啟動之後主從會因為1062(主鍵重復)而卡住,這裡提供一個自動跳1062的腳本   www.2cto.com   [plain]  #!/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      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved