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系統重啟.....
版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。本文鏈接:https://blog.csdn.net/qq_41594146/article/details/103828733