Reference: https://blog.csdn.net/sun_ashe/article/details/82181811?utm_source=blogxgwz1sql
簡介
在MySQL複製技術中,涉及到三個線程,分別爲binlog Dump線程,IO線程,SQL回放線程。本文針對於這三個線程,簡要說明。 網絡
I/O線程
上圖所示,IO線程位於從實例,其做用就是做爲一個客戶端,創建到master實例上的TCP連接,而且發送認證信息,bingbinlog同步協議信息,而後實時的去同步阻塞的讀取master發送的binlog,而且設置有超時時間,爲slave_net_timeout,若是在超過設置時間內沒有收到master發送的日誌信息,則認爲主從之間的網絡異常,或者master異常,進行網絡重試。其生命週期開始於start slave或者start slave io_thread,結束於stop slave或者stop slave io_thread;.net
Dump線程
如上圖所示,Dump線程位於master實例,此線程與普通線程相似,只不過接收到的是客戶端發送的binlog dump命令,因此,會發送binlog,而不是其餘的數據給客戶端。其生命週期開始於slave的start slave或者start slave io_thread,結束於stop slave或者stop slave io_thread。線程
SQL線程
SQL回放線程位於slave實例,主要做用就是讀取relay log,而且進行回放操做。其生命週期開始於start slave或者start slave sql_thread,結束於stop slave或者stop slave sql_thread;日誌
結束語
關於這三個線程更多的細節,在進階文章中展開描述,此文做爲基礎入門。
---------------------
做者:sun_ashe
來源:CSDN
原文:https://blog.csdn.net/sun_ashe/article/details/82181811
版權聲明:本文爲博主原創文章,轉載請附上博文連接!blog