萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 解決mysql一主多從宕機從庫切換主繼續和從同步教程

解決mysql一主多從宕機從庫切換主繼續和從同步教程

下文來為各位介紹一篇關於mysql數據庫一主多從宕機從庫切換主繼續和從同步教程,有興趣的可以進來看看

目標:主庫宕機了,從庫提升為主庫

准備環境:

1台web服務器

3台MySQL服務器

環境說明:

QQ20150902140934

1.web上跑著bbs網站服務,由MySQL-01提供數據庫服務

2.MySQL-02和-03是MySQL-01的從庫

突發事件:

這個時候,MySQL機器宕機,bbs.teddy.com是打不開的,提示無法連接數據庫

一主多從宕機從庫切換主繼續和從同步過程步驟:

  • 確保所有的relay log全部更新完畢

在每個從庫上執行stop slave io_thread; show processlist;

直到看到Has read all relay log,則表示從庫更新都執行完畢了

QQ20150902134423QQ20150902134435

所有的relay log全部更新完畢

登陸所有從庫,查看master.info文件,對比選擇pos最大的作為新的主庫,這裡我們選擇mysql-02為新的主庫

  • 登陸mysql-02,執行stop slave; 並進入數據庫目錄,刪除Info和relay-log.info文件, 配置my.cnf文件,開啟log-bin,如果有log-slaves-updates和read-only則要注釋掉;提升從庫為主庫,執行reset master,

QQ20150902134821

創建用於同步的用戶

grant replication slave on *.* to rep@’10.0.0.%’ indentified by ‘123456’;
flush privileges;

創建用於bbs網站使用的用戶

GRANT ALL ON bbs.* TO ‘bbs’@’Web-01’ IDENTIFIED BY ‘123456’;
flush privileges;

 

更新所有機器上的hosts文件

[root@web-01 teddylu]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
###########by teddylu###########
10.0.0.201     LVS-DR-01
10.0.0.202     LVS-DR-02
10.0.0.203     Web-01
10.0.0.204     Web-02
#10.0.0.205     MySQL-01
#10.0.0.206     MySQL-02
10.0.0.206     MySQL-01   #bbs的網站程序中關於數據庫的信息裡,MySQL-01是數據庫的地址
10.0.0.207     NFS-Share

登陸其他從庫操作,即mysql-03

CHANGE MASTER TO
MASTER_HOST=’10.0.0.205′,
MASTER_PORT=3306,
MASTER_USER=’rep’,
MASTER_PASSWORD=’123456′,
MASTER_LOG_FILE=’mysql-bin.000001′,
MASTER_LOG_POS=107;
start slave;

最後,檢查是否主從同步了,網站是否能打開了

 總結:從主庫宕機,到從庫接管,一共只花費了不到3分鐘的時間(如果前期的系統架構做的好的話,時間會更少)。通過master.info文件來確定新的主庫,這樣,你的數據庫的一致性和完整性就更高

a

copyright © 萬盛學電腦網 all rights reserved