本篇文章主要來介紹關於MySQL的負值原理以及流程。 【推薦參考MySQL影片教學或MySQL手冊】
一、在Slave 伺服器上執行sart slave指令開啟主從複製開關,開始進行主從複製。
二、此時,Slave伺服器的IO執行緒會透過在master上已經授權的複製使用者權限請求連接master伺服器,並請求從執行binlog日誌檔案的指定位置(日誌檔案名稱和位置就是在配置主從複製服務時執行change master命令指定的)之後開始發送binlog日誌內容
三、Master伺服器接收到來自Slave伺服器的IO線程的請求後,二進位轉儲IO線程會根據Slave伺服器的IO執行緒請求的資訊分批讀取指定binlog日誌檔案指定位置之後的binlog日誌訊息,然後傳回給Slave端的IO執行緒。在傳回的資訊中除了binlog日誌內容外,還有在master伺服器端記錄的新的binlog檔案名稱,以及在新的binlog中的下一個指定更新位置。
四、當Slave伺服器的IO線程取得到Master伺服器上IO線程發送的日誌內容、日誌檔案及位置點後,會將binlog日誌內容依序寫到Slave端自身的Relay Log(即中繼日誌)檔案(MySQL-relay-bin.xxx)的最末端,並將新的binlog檔案名稱和位置記錄到master-info檔案中,以便下次讀取master端新binlog日誌時能告訴Master伺服器從新binlog日誌的指定檔案及位置開始讀取新的binlog日誌內容
五、Slave伺服器端的SQL執行緒會即時偵測本地Relay Log 中IO線程新增的日誌內容,然後及時把Relay LOG 檔案中的內容解析成sql語句,並在自身Slave伺服器上依解析SQL語句的位置順序執行應用這樣sql語句,並在relay-log.info中記錄目前應用中繼日誌的檔案名稱和位置點
以上是MySQL的複製原理和流程是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!