MySQL主從同步報錯排錯結果及修復過程之:Slave_SQL_Running: No


起因調查:

  收到大量郵件報警想必事出有因,就問同事到底發生了什么?同事登錄從庫查看,發現出現如下報錯提示,表示與主庫同步失敗,一直卡在哪里,看他弄了兩個多小時,問題越來越多,解決一個恢復平靜了一兩分鍾又不行了。。。。於是報警的郵件又是一封又一份。。。於是向我求助。登錄從庫后發現:

  其中一台從庫報錯內容為:

1 mysql> show slave status\G;
2 
3 Slave_IO_Running: Yes
4 Slave_SQL_Running: No
5 
6 Last_Errno: 1008
7 
8 Last_Error: Error 'Can't drop database 'lcp'; database doesn't exist' on query. Default database: 'lcp'. Query: 'drop database lcp'

 

 

創建庫失敗,

查看日志

1 mysql> SHOW  GLOBAL VARIABLES LIKE '%log%';
2 
3 | log_error                               | /application/mysql/data/db03.err     日志路徑並沒有動,默認  
4 
5 | log_warnings                            | 1                    還好啟用日志了。。。

 

切一個窗口查看日志:

發現錯誤報告,不能與主庫同步,上一條報告lcp庫已存在。。納悶你拿我名字當庫名干啥。。。狠批一頓。(后來得知是覺得我名字有威懾力,嚇唬嚇唬服務器,笑哭...)

 言歸正傳

  我看了一下他的歷史操作記錄,想創建“lcp”庫卻發現此庫已存在,想刪掉“lcp”庫,卻發現系統報錯此庫不存在。然后我就很郁悶的問他你到底對服務器做了啥!!!

  真是不怕沒腦子的隊友,,就怕。。。。哈哈,當然開個玩笑,排錯也是成長的過程,我很喜歡我這個隊友,他經常給我提供成長的空間。(Ps:不要輕易模仿!!尤其是生產環境!!!)

1  160524 10:53:41 [Warning] Slave: Can't create database 'min'; database exists Error_code: 1007
2  160524 10:53:41 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-b
3  in.000758' position 1077
4  160524 11:53:17 [ERROR] Error reading packet from server: Lost connection to MySQL server during query ( server_errno=2013)

 

  於是我繼續往上翻錯誤日志,發現一條類似的提示:min庫已存在,無法完成創建。當時似乎想到了什么。就問了一句,你是不是在兩台mysql服務器上同時創建了min庫?豬一樣的隊友給我的回答竟然是:“是!”!!!!!好吧原諒他是新手。既然問題找到了方法自然就簡單了,還好是其中一台從庫,不會造成很大的影響,於是選擇最簡單的辦法:

   將binglog指針下移一個位置。

解決方案:

mysql> slave stop;
Query OK, 0 rows affected (0.01 sec)

mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
Query OK, 0 rows affected (0.00 sec)

mysql> slave start;
Query OK, 0 rows affected (0.00 sec)

 

mysql> show slave status\G;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0

 至此解決完成,雖然用了規避的方法去解決有點不太光明磊落(1007可以忽略),但是排錯思路一定要清晰,雖說不是生產環境,如果要是生產環境超出5分鍾的排措時間都不是一個合格的運維人應該做的事情,此處發一篇博文也給自己存個檔,順便幫助一下需要的人。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM