原理圖:mysql
從服務器的IO線程從主服務器獲取二進制日誌,並在本地保存爲中繼日誌,而後經過SQL線程在從服務器上執行中繼日誌中的內容,從而使從庫和主庫保持一致。sql
主從同步的詳細過程以下:服務器
1. 主服務器驗證鏈接。 spa
2. 主服務器爲從服務器開啓一個線程。 線程
3. 從服務器將主服務器日誌的偏移位告訴主服務器。日誌
4. 主服務器檢查該值是否小於當前二進制日誌偏移位。 orm
5. 若是小於,則通知從服務器來取數據。同步
6. 從服務器持續從主服務器取數據,直至取完,這時,從服務器線程進入睡眠,主服務器線程同時進入睡眠。 原理
7. 當主服務器有更新,主服務器線程被激活,並將二進制日誌推送給從服務器,並通知從服務器線程進入工做狀態。 二進制
8. 從服務器SQL線程執行二進制日誌,隨後進入睡眠狀態。
mysql主從複製
mysql級聯複製