您好,登錄后才能下訂單哦!
在一主多從的環境中,如主庫為M,從庫為S1、S2,當主庫M出現故障時,把S1設為新的主庫,并且修改從庫S2的配置,使其指向新的主庫S1。此外還要通知應用修改主數據庫的IP地址,如果出現故障的主庫M修復的話可以設置為新的從庫。主從切換的詳細步驟如下:
1 首先要保證所有從庫已經執行了relay log中的全部更新,在每個從庫上先停止io線程,再用以下語句查看:
mysql>stop slave io_thread;
mysql> show processlist\G
直到看到下面的語句,表示全部更新執行完畢。
Has read all relay log waiting for the slave I/O thread to update it
2 在從數據庫S1上,停止從服務,然后把S1設置成主數據庫:
mysql> stop slave;
mysql> reset master;
3 在S2上(如果有多臺,則在所有從服務器上,此時S1為主服務器),停止從服務,然后重新設置S1為主數據庫,S1的IP為192.168.1.101,再執行start slave啟動復制:
mysql> stop slave;
mysql> change master to master_host = '192.168.1.101';
mysql> start slave;
4 修改客戶端應用指向S1服務器:
5 刪除S1服務器(新的主庫服務器)上的master.info和relay-log.info文件,否則一旦重啟還會按照從庫啟動。
6 最后,如果M服務器恢復,則可以按照S2的方法設置為S1的從庫。
備注:上面的步驟默認S1是啟用了log-bin選項的,這樣重置成主庫后可以把二進制日志復制到其它從庫。其次,S1上沒有開啟log-slave-updates參數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。