主庫宕機 ?Master DOWN 機-企業場景一主多從宕機從庫切換主繼續和從同步過程詳解
登陸從庫,show processlist;
查看兩個線程的更新狀態;
查看所有從庫中,查看
/application/mysql-5.6.20/data/mysql.info;
確保更新完畢,看看兩個從庫中哪個庫最快,經過測試沒有延遲的情況POS差距很小,甚至一致的;
然后選取其中POS最大的作為主庫;
1、確保所有relay log 全部更新完畢
在每個從庫上執行 stop slave io_thread; show processlist;
直到看到Has read all relay log;表示從庫更新執行完畢:
2、登陸POS值最大的從庫執行如下命令:
mysql -uroot -p123456 ?-S ?/application/mysql-5.6.20/mysql.sock
stop slave;
retset master;
quit;
3、進到數據庫數據目錄,刪除master.info relay-log.info
cd /application/mysql-5.6.20/data
rm -f master.info relay-log.info
檢查授權表,read-only等參數
4、提升從庫為主庫
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
到此為止,提升主庫完畢。
5、如果主庫服務器沒宕機,需要去主庫binlog補全,提升主庫為從庫
6、其他從庫操作
已檢查(同步user rep均存在)
登陸從庫
stop slave
cahnge master to master_host='10.0.0.7; ?// 如果不同步,就指定位置點
start slave;
show slave status\G
7、修改程序的配置文件從主數據庫到從數據庫(現在新的主庫)
? ? ? 平時訪問數據庫用域名,則直接可以修改hosts解析
8、修理損壞的主庫,完成后作為從庫使用,或者切換
我們現在講的是主庫意外宕機,例如我們有計劃切換,怎么做呢?
1)主庫鎖表
2)登陸所有的庫查看同步狀態,是否完成
?后面操作與前面同1至4步驟
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。