Mysql實現企業級主從復制和互為主從模式架構
大概網絡拓撲圖如下:
1、該過程的第一部分就是master記錄二進制日誌。在每個事務更新數據完成之前,master在二進制日誌記錄這些改變。MySQL將事務串行的寫入二進制日誌,在事件寫入二進制日誌完成後,master通知存儲引擎提交事務。此後可接收slave的請求。
2、下一步就是slave將master的binary log拷貝到它自己的中繼日誌。首先,slave開始一個工作線程——I/O線程。I/O線程在master上打開一個普通的連接,然後開始在主節點上binlog dump process(二進制轉存線程)。Binlog dump process從master的二進制日誌中讀取事件,如果已經跟上master,它會睡眠並等待master產生新的事件。I/O線程將這些事件寫入中繼日誌。
3、SQL slave thread(SQL從線程)處理該過程的最後一步。SQL線程從中繼日誌讀取事件,並重放其中的事件而更新slave的數據,使其與master中的數據一致。只要該線程與I/O線程保持一致,中繼日誌通常會位於OS的緩存中,所以中繼日誌的開銷很小。
一、主從復制模式。
1、環境準備:
centos系統服務器2臺、一臺用戶做Mysql主服務器(172.17.110.111),一臺用於做Mysql從服務器(172.17.38.39),配置好yum源、防火墻關閉、各節點時鐘服務同步、各節點之間可以通過主機名互相通信。
2、準備步驟:
(1)iptables -F && setenforce 清空防火墻策略,關閉selinux
(2)拿兩臺服務器都使用yum方式安裝Mysql服務,要求版本一致
(3)分別啟動兩臺服務器mysql服務,確保服務正常
①配置master的主配置文件。
②啟動服務,創建復制賬號,對slave進行授權。
還可以查看二進制文件,查看更新的事物。
③配置slave的主配置文件
④讓slave連接master,讀取master的二進制日誌更新的事物。
二、實現互為主從框架。
①修改配置文件(172.17.110.111服務器)
兩個服務器配置文件除了id不一樣,其它都一樣(172.17.38.39服務器)。
②雙方相互授權,即彼此即使對方的主也是對方的從。
在(172.17.38.39服務器)指向(172.17.110.111),並查看狀態
在172.17.110.111服務器,指向(172.17.38.39),查看狀態。
③測試。
在(172.17.110.111服務器)創建一個數據庫,裏面存放內容。在(172.17.38.39服務器)上查看是否同步。
在在(172.17.38.39服務器)創建一個數據庫,裏面存放內容。在(172.17.110.111服務器)上查看是否同步。
Mysql實現企業級主從復制和互為主從模式架構