您好,登錄后才能下訂單哦!
這篇文章主要講解了“Mysql的復制原理和應用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Mysql的復制原理和應用”吧!
Mysql支持兩種復制方式,基于行的復制和基于語句的復制。 這兩種方式都是通過在主庫上記錄二進制日志、在備庫重放日志的方式來實現異步的數據復制。
在同一時間點備庫上的數據可能與主庫存在不一致,并且無法保證主備之間的延遲。
復制通常不會增加主庫的開銷,主要是啟用二進制日志帶來的開銷,但是出于備份或及時從崩潰中回復的目的,這點開銷是必要的。
通過復制可以將讀操作指向備庫來獲得更好讀讀擴展。寫操作一般都是在主庫上寫。在一主庫多備庫讀架構中,寫操作會被執行多次,這時候整個系統讀性能取決于寫入最慢讀那部分。
常見讀復制方案:
主 -備 -備:一個備庫從主庫copy數據,其余讀備庫從備庫中copy數據。
主- 備 :所有讀備庫從主庫中copy數據。
數據分布:將數據分布在不同讀數據中心中。
負載均衡:通過Mysql復制可以將讀操作分布到多個服務器上,實現對密集型應用對優化,并且實現很方便,通過簡單對代碼修改就能實現基本對負載均衡。
備份:復制是備份對補充,但復制不是備份也不能取消備份。
高可用性和故障切換:避免單點失敗,設計良好但故障切換
MySql 升級測試:保證讀寫的按預期實現。
3.1 在主庫上把數據更改記錄到二進制日志(Binary Log)中。
3.2 備庫將主庫的日志復制到自己的中繼日志(Relay Log)中。
3.3 備庫讀取中繼日志的事件,將其重放到備庫數據之上。
這種復制架構實現了獲取事件和重放事件的解耦,允許這兩個過程異步進行。但是也限制了復制過程,最重要的就是主庫上并發運行的查詢在備庫上只能串行化執行。因為只有一個SQL線程來重放中繼日志中的事件。
感謝各位的閱讀,以上就是“Mysql的復制原理和應用”的內容了,經過本文的學習后,相信大家對Mysql的復制原理和應用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。