MySQL 9.0 版本注意事項
複製的基礎是來源伺服器在其二進位日誌中追蹤其資料庫的所有變更(更新、刪除等等)。二進位日誌充當從伺服器啟動那一刻起修改資料庫結構或內容(資料)的所有事件的書面記錄。通常,SELECT
陳述式不會記錄,因為它們既不會修改資料庫結構,也不會修改內容。
每個連線到來源的複本都會請求二進位日誌的副本。也就是說,它從來源提取資料,而不是來源將資料推送至複本。複本也會執行它接收到的二進位日誌中的事件。這具有重複原始變更的效果,就像它們在來源上所做的那樣。根據原始在來源上所做的變更,會建立資料表或修改其結構,並插入、刪除和更新資料。
由於每個複本都是獨立的,因此從來源的二進位日誌重新播放變更會在連線到來源的每個複本上獨立發生。此外,由於每個複本僅透過從來源請求來接收二進位日誌的副本,因此複本能夠以自己的步調讀取和更新資料庫副本,並且可以隨時啟動和停止複製程序,而不會影響來源或複本端的最新資料庫狀態的更新能力。
如需複製實作詳細資訊,請參閱第 19.2.3 節,「複製執行緒」。
來源伺服器和複本會定期回報其在複製程序方面的狀態,以便您可以監控它們。如需所有複製相關狀態的說明,請參閱第 10.14 節,「檢查伺服器執行緒(程序)資訊」。
來源的二進位日誌會在處理之前寫入複本上的本機中繼日誌。複本也會記錄關於來源二進位日誌和本機中繼日誌的目前位置的資訊。請參閱第 19.2.4 節,「中繼日誌和複製中繼資料儲存庫」。
資料庫變更會根據一組規則在複本上進行篩選,這些規則會根據各種配置選項和控制事件評估的變數來應用。 有關這些規則如何應用的詳細資訊,請參閱第 19.2.5 節「伺服器如何評估複製篩選規則」。