《談談MySQL主從復制》要點:
本文介紹了談談MySQL主從復制,希望對您有用。如果有疑問,可以聯系我們。
日常企業開發中,業務量的規模都是從小到大,增加到一定數量級后,單一數據庫已經無法滿足日常的承載壓力,導致性能下降.在許多類型的應用中,傳統的解決辦法都是購買性能更好的機器,簡單粗暴的提升硬件配置不是一個有效的解決方案.
今天我們來談談另外一種解決方案,就是水平擴展中的復制辦法.
1/ 概念
MySQL內建的復制功能是構建大型、高性能應用程序的基礎.這類應用使用所謂的“水平擴展”的架構.可以通過為服務器配置一個或多個備庫的方式來進行數據同步,將MySQL的數據分布到多個系統上.復制過程中一臺主庫(Master)服務器可以同步數據到多臺從庫(Slave)服務器上去.從庫也可以配置成另外一臺服務器的主庫.主庫和從庫之間可以有多種不同的方式組合.
2/ 工作原理
主從復制一般可分為同步復制和異步復制,實際使用過程中復制架構大都數為異步復制.復制的基本過程如下圖:
流程說明:
Slave上面的IO進程連接上Master,并哀求從指定日志文件的指定位置(或者從最開始的日志)之后的日志內容;
Master接收到來自Slave的IO進程哀求后,通過負責復制的IO進程根據哀求讀取日志信息,返回給Slave的IO進程.
Slave的IO進程接收到信息后,將接收到日志內容依次添加到Slave端的relay-log文件的最末端,并將Master返回的bin-log的文件名和位置記錄在master-info文件中,以便下次讀取.
Slave的Sql進程檢測到relay-log中新增加了內容后,立即解析relay-log的內容并自身執行.
3/ 應用場景
MySQL數據庫的實時備份
數據庫的讀寫分離;
MySQL的HA集群;
4/ 總結
MySQL主從復制在應用中的好處,有以下幾點:
高可用性和故障切換;
利用從服務器做查詢;
數據平安,從庫實時備份數據及數據分布;
主從分攤負載;
主從復制的不足:如數據丟失、數據同步延遲、擴展性等問題需要辦理.
在日常實踐中,可能遇到種種問題,官方文檔是不錯的選擇,大家可以在評論中留言討論實際中使用可能遇到的問題及辦理方案.謝謝!!
歡迎參與《談談MySQL主從復制》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7135.html