溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql的復制原理和應用

發(fā)布時間:2021-06-22 14:30:52 來源:億速云 閱讀:141 作者:chen 欄目:大數據

這篇文章主要講解了“Mysql的復制原理和應用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Mysql的復制原理和應用”吧!

1.復制的概述

Mysql支持兩種復制方式,基于行的復制和基于語句的復制。 這兩種方式都是通過在主庫上記錄二進制日志、在備庫重放日志的方式來實現異步的數據復制。

在同一時間點備庫上的數據可能與主庫存在不一致,并且無法保證主備之間的延遲。

復制通常不會增加主庫的開銷,主要是啟用二進制日志帶來的開銷,但是出于備份或及時從崩潰中回復的目的,這點開銷是必要的。

通過復制可以將讀操作指向備庫來獲得更好讀讀擴展。寫操作一般都是在主庫上寫。在一主庫多備庫讀架構中,寫操作會被執(zhí)行多次,這時候整個系統(tǒng)讀性能取決于寫入最慢讀那部分。

常見讀復制方案:

  • 主 -備 -備:一個備庫從主庫copy數據,其余讀備庫從備庫中copy數據。


  • 主- 備 :所有讀備庫從主庫中copy數據。

2.復制解決讀問題

  • 數據分布:將數據分布在不同讀數據中心中。

  • 負載均衡:通過Mysql復制可以將讀操作分布到多個服務器上,實現對密集型應用對優(yōu)化,并且實現很方便,通過簡單對代碼修改就能實現基本對負載均衡。

  • 備份:復制是備份對補充,但復制不是備份也不能取消備份。

  • 高可用性和故障切換:避免單點失敗,設計良好但故障切換

  • MySql 升級測試:保證讀寫的按預期實現。


3.復制如何工作

  • 3.1 在主庫上把數據更改記錄到二進制日志(Binary Log)中。

  • 3.2 備庫將主庫的日志復制到自己的中繼日志(Relay Log)中。

  • 3.3 備庫讀取中繼日志的事件,將其重放到備庫數據之上。


這種復制架構實現了獲取事件和重放事件的解耦,允許這兩個過程異步進行。但是也限制了復制過程,最重要的就是主庫上并發(fā)運行的查詢在備庫上只能串行化執(zhí)行。因為只有一個SQL線程來重放中繼日志中的事件。

感謝各位的閱讀,以上就是“Mysql的復制原理和應用”的內容了,經過本文的學習后,相信大家對Mysql的復制原理和應用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI