MySQL資料庫主從原理理解
阿新 • • 發佈:2022-01-10
在日常專案測試過程中,經常會遇到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磁碟