主庫宕機 Master DOWN機-企業場景一主多從宕機從庫切換主繼續和從同步過程詳解mysql
登錄從庫,show processlist;sql
查看兩個線程的更新狀態;數據庫
查看全部從庫中,查看vim
/application/mysql-5.6.20/data/mysql.info服務器
確保更新完畢,看看兩個從庫中哪一個庫最快,通過測試沒有延遲的狀況POS差距很小,甚至一致的app
而後選取其中POS最大的做爲主庫ide
一、確保全部relay log 所有更新完畢測試
在每一個從庫上執行 stop slave io_thread; show processlist;ui
直到看到Has read all relay log;表示從庫更新執行完畢:spa
二、登錄POS值最大的從庫執行以下命令:
mysql -uroot -p123456 -S /application/mysql-5.6.20/mysql.sock
stop slave;
retset master;
quit;
三、進到數據庫數據目錄,刪除master.info relay-log.info
cd /application/mysql-5.6.20/data
rm -f master.info relay-log.info
檢查受權表,read-only等參數
四、提高從庫爲主庫
vim /application/mysql-5.6.20/my.cnf
開啓:
log-bin = /application/mysql-5.6.20/mysql-bin
//若是不存在log-slave-updates read-only等必定要註釋掉它。
/application/mysql-5.6.20/mysql restart
到此爲止,提高主庫完畢。
五、若是主庫服務器沒宕機,須要去主庫binlog補全,提高主庫爲從庫
六、其餘從庫操做
已檢查(同步user rep均存在)
登錄從庫
stop slave
cahnge master to master_host='10.0.0.7; // 若是不一樣步,就指定位置點
start slave;
show slave status\G
七、修改程序的配置文件從主數據庫到從數據庫(如今新的主庫)
平時訪問數據庫用域名,則直接能夠修改hosts解析
八、修理損壞的主庫,完成後做爲從庫使用,或者切換
咱們如今講的是主庫意外宕機,例如咱們有計劃切換,怎麼作呢?
1)主庫鎖表
2)登錄全部的庫查看同步狀態,是否完成
後面操做與前面同1至4步驟