1. 程式人生 > 其它 >MySQL資料庫主從原理理解

MySQL資料庫主從原理理解

在日常專案測試過程中,經常會遇到mysql資料庫的主從模式,也就是主從複製和讀寫分離,主資料庫(Master)資料有更新時,會同步到從資料庫(Slave),Master資料庫負責寫資料,而多臺Slave資料庫負責讀資料,這樣便提升了資料庫的併發效能。

主從複製的原理

主要分為以下幾個步驟:

1. 主資料庫(Master)如果有資料更新會被寫到二進位制日誌(binary log)中;

2. 從資料庫啟用slave服務,與主資料庫連線;

3. 從資料庫建立一個I/O執行緒,從主資料庫讀取二進位制日誌並且寫入到中繼日誌(Relay log)中

4. 從資料庫建立一個SQL執行緒,從中繼日誌中讀取內容,將更新的內容寫到從資料庫

主從複製的作用

1. 如果主資料庫發生故障,可以切換到從資料庫繼續使用,避免資料的丟失;

2. 提高了資料庫的併發效能

讀寫分離

顧名思義就是讀和寫是分離的,主資料負責事務的寫操作,包括insert、update和delete的操作,而從資料庫則是負責讀操作,即select操作。

主從同步延遲

因為讀和寫的操作時分開的,所以有些場景下可能會存在主從同步有延遲。

延遲高的原因

  • 網路存在延遲
  • 主從裝置硬體導致
  • 不是同步複製,而是非同步複製
  • 主資料庫的併發高

優化延遲

  • 優化網路
  • 優化mysql的引數
  • 從庫使用高效能主機
  • 從庫使用SSD磁碟