MYSQL複製原理及其流程

來源:互聯網
上載者:User

標籤:不能   mys   span   讀取   記錄   sql   位置   原理   發送   

Mysql內建的複製功能是構建大型,高效能應用程式的基礎。將Mysql的資料分布到多個系統上去,這種分布的機制,是通過將Mysql的某一台主機的資料複製到其他主機(slave)上,並重新執行一遍來實現的。複製過程中一個伺服器充當主伺服器,而一個或多個其它伺服器充當從伺服器。主伺服器將更新寫入二進位記錄檔,並維護檔案的一個索引以追蹤記錄檔迴圈。這些日誌可以記錄發送到從伺服器的更新。當一個從伺服器串連到主伺服器時,它通知主伺服器從伺服器在日誌中讀取的最後一次成功更新的位置。從伺服器接收從那時起發生的任何更新,然後封鎖並等待主伺服器通知新的更新。

3個線程:

首先,slave開始一個背景工作執行緒-----I/O線程。I/O線程在master上開啟一個普通的串連,然後開始binlog dump process。binlog dump process 從master的二進位日誌中讀取事件,如果已經跟上了master,它會睡眠並等待master產生新的事件。I/O線程將這些事件寫入中繼日誌。

SQL slave thread(SQL從線程)處理該過程的最後一步。SQL線程從中繼日誌讀取事件而更新slave的資料,使其與master中的資料一致。只要該線程與I/O線程保持一致,中繼日誌通常會位於OS的緩衝中,所以中繼日誌的開銷很小。

     此外,在master中也有一個背景工作執行緒:和其他Mysql的串連一樣,slave在master中開啟一個串連也會使得master開始一個線程。複製過程有一個很重要的限制-----複製在slave上是序列化的,也就是說master上的並行更新操作不能在slave上並行操作。 

https://dev.mysql.com/doc/refman/5.6/en/replication-implementation-details.html

MYSQL複製原理及其流程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.