1:MySQL的復制原理
阿新 • • 發佈:2019-02-20
5.7 創建 slist https follow 功能 ext 顯示 RoCE MySQL官網鏈接:https://dev.mysql.com/doc/refman/5.7/en/replication-implementation-details.html
MySQL復制功能使用三個線程實現,一個在master上,兩個在slave上:
MySQL復制功能使用三個線程實現,一個在master上,兩個在slave上:
- Binlog dump thread
- master創建此線程,以便在slave連接時將二進制日誌內容發送到slave.master上的SHOW PROCESSLIST的輸出中將此線程標識為Binlog Dump線程。
- 此線程獲取master二進制日誌上的一個鎖,以便讀取發送到slave的每個事件。一旦讀取了事件,即使在事件發送到slave之前,鎖也會被釋放。**
- Slave I/O thread
- 在slave上發出START SLAVE語句時,slave會創建一個I/O線程,該線程連接到master並要求它發送二進制日誌中記錄的更新。
- 此線程讀取master的Binlog Dump thread發送的更新(請參閱上一項)並將它們復制到包含slave的中繼日誌的本地文件中。
- 該線程的狀態在SHOW SLAVE STATUS的輸出中顯示為Slave_IO_running,或者在SHOW STATUS的輸出中顯示為Slave_running
- Slave SQL thread.
- slave創建一個SQL線程來讀取由Slave I/O thread寫入的中繼日誌,並執行其中包含的事件。
NEXT:2:基於二進制日誌文件位置的復制 http://blog.51cto.com/itzhoujun/2351367
1:MySQL的復制原理