您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“mysql主從復制的原理及作用是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“mysql主從復制的原理及作用是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
提升數據庫并發能力
# 執行查詢操作的時候,先查詢緩存中是否有數據,緩存中有數據,則獲取緩存中的數據 # 緩存中沒有數據,則從mysql數據庫中查詢數據,同時將數據寫入緩存中
主從復制的作用
其中一個是Master主庫,負責寫入數據,我們稱之為:寫庫。 其它都是Slave從庫,負責讀取數據,我們稱之為:讀庫。 當主庫進行更新的時候,會自動將數據復制到從庫中,而我們在客戶端讀取數據的時候,會從從庫中進行讀取。 1、讀寫分離:面對“讀多寫少”的需求,采用讀寫分離的方式,可以實現更高的并發訪問。同時,我們還能對從服務器進行負載均衡,讓不同的讀請求按照策略均勻地分發到不同的從服務器上,讓讀取更加順暢。 讀取順暢的另一個原因,就是減少了鎖表的影響,比如我們讓主庫負責寫,當主庫出現寫鎖的時候,不會影響到從庫進行SELECT的讀取。 2、數據備份:我們通過主從復制將主庫上的數據復制到了從庫上,相當于是一種熱備份機制,也就是在主庫正常運行的情況下進行的備份,不會影響到服務 3、具有高可用性:數據備份實際上是一種冗余的機制,通過這種冗余的方式可以換取數據庫的高可用性,也就是當服務器出現故障或宕機的情況下,可以切換到從服務器上,保證服務的正常運行
主從復制原理
Slave 會從 Master 讀取 binlog 來進行數據同步 步驟1: Master 將寫操作記錄到二進制日志( binlog )。 步驟2: Slave 將 Master 的binary log events拷貝到它的中繼日志( relay log ); 步驟3: Slave 重做中繼日志中的事件,將改變應用到自己的數據庫中。 MySQL復制是異步的且串行化的,而且重啟后從 接入點 開始復制。
實際上主從同步的原理就是基于 binlog 進行數據同步的。在主從復制過程中,會基于 3 個線程 來操作,一個主庫線程,兩個從庫線程 二進制日志轉儲線程 (Binlog dump thread)是一個主庫線程。當從庫線程連接的時候, 主庫可以將二進制日志發送給從庫,當主庫讀取事件(Event)的時候,會在 Binlog 上 加鎖 ,讀取完成之后,再將鎖釋放掉。 從庫 I/O 線程 會連接到主庫,向主庫發送請求更新 Binlog。這時從庫的 I/O 線程就可以讀取到主庫的二進制日志轉儲線程發送的 Binlog 更新部分,并且拷貝到本地的中繼日志 (Relay log)。 從庫 SQL 線程 會讀取從庫中的中繼日志,并且執行日志中的事件,將從庫中的數據與主庫保持同步。
主從復制原則
每個 Slave 只有一個 Master 每個 Slave 只能有一個唯一的服務器ID 每個 Master 可以有多個 Slave
讀到這里,這篇“mysql主從復制的原理及作用是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。