目錄
一、理論解析
第一步,Master 及主服務器將對數據的操作記錄到二進制日誌當中(Binary log)當中。在每個事務更新數據完成之前,Master 在日誌裏記錄這些改變,MySql 將日誌串行的寫入二進制當中,在事件寫入日誌完成之後,Master 通知存儲引擎提交事務,提交好事務後就會計入第二步。
對數據的操作,稱爲一次二進制的日誌事件(Binary log event)。
第二步,Slave 將 Master 的 Binary log event 拷貝到它的中繼日誌(Relay log)當中。首先,Slave 會開始一個工作線程(I/O線程),I/O 線程在 Master 上打開一個普通連接,將 Binary log 拷貝到 I/O thread,也就是從 Master 的Binary log 讀取日誌事件。如果跟上 Master 的話,I/O thread 就會睡眠,並等待 Master 的新事件,I/O 線程將這些事件寫入到 Relay log(中繼日誌)裏面。第二步就完成了。
第三步,Slave 重做中繼日誌事件。SQL 線程從中繼日誌讀取事件,並存放其中的事件,更新Slave的數據,使其與Master的數據一致。
二、教學視頻
鏈接: https://pan.baidu.com/s/1ZpbKA6piqx0B8TcFrLT99g 提取碼: ptc8