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