Mysql實現企業級主從複製和互爲主從模式架構

 在實現mysql的多種模式前提下,首先先介紹一下mysql是如何工做的。mysql

  大概網絡拓撲圖以下:linux

  15cdc301ce6d090ce93dd4cab6af5729.png 

  一、該過程的第一部分就是master記錄二進制日誌。在每一個事務更新數據完成以前,master在二進制日誌記錄這些改變。MySQL將事務串行的寫入二進制日誌,在事件寫入二進制日誌完成後,master通知存儲引擎提交事務。此後可接收slave的請求。sql

  二、下一步就是slave將master的binary log拷貝到它本身的中繼日誌。首先,slave開始一個工做線程——I/O線程。I/O線程在master上打開一個普通的鏈接,而後開始在主節點上binlog dump process(二進制轉存線程)。Binlog dump process從master的二進制日誌中讀取事件,若是已經跟上master,它會睡眠並等待master產生新的事件。I/O線程將這些事件寫入中繼日誌。數據庫

  三、SQL slave thread(SQL從線程)處理該過程的最後一步。SQL線程從中繼日誌讀取事件,並重放其中的事件而更新slave的數據,使其與master中的數據一致。只要該線程與I/O線程保持一致,中繼日誌一般會位於OS的緩存中,因此中繼日誌的開銷很小。centos

  1、主從複製模式。緩存

  一、環境準備:服務器

  centos系統服務器2臺、一臺用戶作Mysql主服務器(172.17.110.111),一臺用於作Mysql從服務器(172.17.38.39),配置好yum源、防火牆關閉、各節點時鐘服務同步、各節點之間能夠經過主機名互相通訊。網絡

  二、準備步驟:框架

  (1)iptables -F && setenforce 清空防火牆策略,關閉selinuxide

  (2)拿兩臺服務器都使用yum方式安裝Mysql服務,要求版本一致

  (3)分別啓動兩臺服務器mysql服務,確保服務正常

  ①配置master的主配置文件。

  f59b3de390033604d050d16df2646390.png

  ②啓動服務,建立複製帳號,對slave進行受權。

  fd9851255dcfe2a31c1fce0cce91c846.png  還能夠查看二進制文件,查看更新的事物。

  b1428a6a875dc178167612cdf2614249.png  ③配置slave的主配置文件

  6055dc7c0f441d77ee7b71a13ecc9a5c.png

  ④讓slave鏈接master,讀取master的二進制日誌更新的事物。

  97789689a0b6cf360da7f3bdc895621a.png-wh_


  cb87a7b0a5bcd04f4f7ea59e4f5d405d.png

  2、實現互爲主從框架。

  ①修改配置文件(172.17.110.111服務器)

  382d6a3d0e404f90c2165128aa3c0a6a.png 


  兩個服務器配置文件除了id不同,其它都同樣(172.17.38.39服務器)。

  6d2f10eb35197c2674f3e7e4a50b7a07.png

  ②雙方相互受權,即彼此即便對方的主也是對方的從。

  在(172.17.38.39服務器)指向(172.17.110.111),並查看狀態

  97789689a0b6cf360da7f3bdc895621a.png-wh_ 


  a096beede4bfd9796b76df15f22af86b.png

  在172.17.110.111服務器,指向(172.17.38.39),查看狀態。

  ea101d7801d148247613cd14adef1699.png

  ③測試。

  在(172.17.110.111服務器)建立一個數據庫,裏面存放內容。在(172.17.38.39服務器)上查看是否同步。

  792800b91a3f8b3b5f70e7674fbe6fa0.png


  36aa70630230b04335327fa92a2a56c5.png  

  在在(172.17.38.39服務器)建立一個數據庫,裏面存放內容。在(172.17.110.111服務器)上查看是否同步。

  f78a1340fa5696f3c15008b0b0d7555a.png


  f2e197432b5deda3ed0523cf9ae3a8bc.png

相關文章
相關標籤/搜索