1. 程式人生 > >MySQL主從同步的原理:

MySQL主從同步的原理:

主從同步的原理:
1、主庫上面有一個IO執行緒,從庫上有一個IO執行緒和一個SQL執行緒,從庫中的IO執行緒負責從主庫讀取binlog,並寫入從庫的中繼日誌;SQL執行緒負責讀取並執行中繼日誌中的binlog,轉換sql語句後應用資料庫彙總
2、通訊是:
① 從庫的IO執行緒給主庫傳送同步請求,請求中包含使用者名稱密碼和binlog的檔名,pos點
② 主庫驗證成功後,傳送從庫需要的binlog日誌檔案,和binlog檔案中pos點
③ 從庫的IO執行緒接收後,把binlog檔案轉存到中繼日誌的relay-log檔案,並把binlog檔名和pos點記錄到master.info檔案中,方便下次通訊使用
④ 從庫的SQl執行緒監測出relay-log檔案後,把relay-log檔案轉換為binlog檔案在本地執行,並把relay-log檔名和pos點記錄到relay-log.info檔案中
⑤ 從庫再次傳送下一輪的請求~~~

如果slave後面還掛有從庫則也要開啟binlog,並新增一個引數log-slave-updates