1. 程式人生 > >Mysql實現企業級主從復制和互為主從模式架構

Mysql實現企業級主從復制和互為主從模式架構

mysql

在實現mysql的多種模式前提下,首先先介紹一下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實現企業級主從復制和互為主從模式架構