mysql主從同步掛了的解決辦法 雙向同步掛了導致服務器重啓

首先登錄mysql後用指令 : show slave status\G 查看下報錯信息. 博主貼個例子,半夜服務器主從告警,完事爬起來處理故障.

 由報錯信息可以得知是某個表的數據不一致導致的同步停止,所以,因爲主從同步的關係,寫入修改都是用主庫,從庫只作爲讀使用,所以先把這個表鎖住,不讓修改操作  lock table 表名 read   然後把主庫的這張表備份下,然後在從庫中,記得 是從庫   使用 stop slave; 停止同步先,完事再把從庫的這個表的數據truncate掉(嘛,首先考慮業務哈,業務如果不允許暫時的停止的話就另外找方法), 再把備份好的數據導入從庫,  然後使用 set global sql_slave_skip_counter =1;  跳過錯誤,後面的數字是可以更改的,看錯誤的數量,如果數據相差不大 那就先一個個來,然後在 start slave;  再 show slave status\G 看看狀態,如果還是沒成  就繼續重複 停止 跳過  啓動 查看這些步驟,直到 狀態變成: 沒報錯(下圖) 並且sql和io同步都是yes時  即可   ,完事呢  記得把表解鎖哈  unlock tables   教程有點麻煩  但親測可用...........睡覺睡覺

 噢,還有個問題   順帶說一下,之前有遇到過 雙向同步  完事不小心binlog日誌刪除了,導致不同步  更誇張的是  你 一 start slave; 特麼服務器就直接重啓   網上找了個解決辦法  :  聽說原因是因爲雙向同步時linux的系統會去用兩個進程去搶奪一個文件,而那個文件只能被一個進程所獲取,類似於加了鎖,然後導致linux系統重啓.....

 

發佈了201 篇原創文章 · 獲贊 225 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章