mysql的主从复制优缺点_MySQL主从复制原理,超级详细的总结,看完全通了
主從復制的方式
主從復制分為:異步復制,半同步復制和全同步復制
異步復制: 是MySQL默認的復制模式,主庫在執行完客戶端提交的事務之后會立刻將結果返回給客戶端,并不關心從庫接收的結果,這樣就會導致當主數據庫因為某些原因宕機之后從數據庫可能沒有同步到主數據庫的數據,導致主從數據不一致,甚者如果將從數據庫強制轉換為主數據庫,可能導致數據丟失
優點:返回客戶端無延遲
缺點:主從數據不一致,數據丟失
半同步復制: 半同步復制解決了主從數據庫不一致的問題,原理是只有當至少一個從數據庫接收到并且寫入到read log 日志中之后才會返回給客戶端接收結果,這樣帶來的問題是至少會帶來一個 TCP/IP的往返時間的延遲
優點:保證主從數據庫的最終一致性
缺點:返回客戶端有延時
全同步復制: 當所有的從庫接收到主數據庫的數據并且執行完了其中的事務之后才會給客戶端返回
優點:主從數據庫的數據強一致性
缺點:耗費性能
并行復制: 就是在半同步復制的基礎上從數據庫會在內部有多個SQL線程去將relay log中的數據寫入到數據庫中,因為5.6x版本之前一直是單線程的,因此產生主從延遲的幾率會很大,現在多線程處理之后,能最大可能的減少主從延遲的幾率
主從復制的原理
數據庫將用戶的請求通過工作線程來將數據寫入到數據庫中然后在寫入到 binlog 日志中
binlog日志詳細記錄了數據的操作信息
主數據庫會有一個IO線程將binlog日志中的數據同步到從數據庫的relay日志中
從數據庫再通過自己數據庫內的SQL線程將 relay log 日志中的數據寫入到數據庫中
5.6X版本之前SQL線程是單線程的,IO線程支持多線程操作
5.7X版本之后SQL線程也支持多線程
總結
以上是生活随笔為你收集整理的mysql的主从复制优缺点_MySQL主从复制原理,超级详细的总结,看完全通了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中find函数运算结果类型_
- 下一篇: ubuntu php mysql5.6_