案例二:
一主多從的架構下,主庫master當機
解決思路:
1,登入從庫
檢視兩個線程的更新狀态
<a href="http://s3.51cto.com/wyfs02/M02/83/A1/wKioL1d46XXAm2LmAALthMC5r1I585.png" target="_blank"></a>
結果說明:
之前主從同步正常
分别登入其餘2個從庫32,33檢視:
比較,那個POS最大,說明更接近主庫,那麼我們就選舉此slave作為新的master。
或者利用半同步技術,直接選舉實時同步了的這個庫為新的master
如果,master down掉,此時master還在有寫入,我們需要将master的binlog拉到新選中的slave,
進行資料補全,在把其他slave執行新選中的master,使其繼續同步。
切換步驟以及注意事項:
1,確定所有的relay_log 全部更新完畢
在每個從庫執行
2,登入
新選舉的master(也就是舊的一個slave),執行以下指令
3,進入新選舉的slave資料目錄,删除master.info relay-log.info ,防止繼續從舊的master讀資料
檢查授權表,read-only 等參數,需要删除
4,提升次新選舉的從庫為主庫
vim /data/3306/my.cnf
開啟binlog:
重新開機服務、提升主庫完畢
5,如果主庫伺服器沒宕,需要去主庫拉去binlog,補全主庫的從庫
6,其他從庫操作
檢查(同步user,rep均存在,意思就是保證其他slave有權限連接配接新的master)
登入slave:
++++++++++++主庫當機切換成功
7,修改程式配置檔案,将之前的masterIP更換為新的masterIP
重新開機服務
本文轉自crazy_charles 51CTO部落格,原文連結:http://blog.51cto.com/douya/1795367,如需轉載請自行聯系原作者