文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  取得複製來源二進制日誌座標

19.1.2.4 取得複製來源二進制日誌座標

若要設定副本從正確的位置開始複製程序,您需要記下來源在其二進制日誌中的目前座標。

警告

此程序使用 FLUSH TABLES WITH READ LOCK,這會封鎖 COMMITInnoDB 資料表的作業。

如果您計劃關閉來源以建立資料快照,您可以選擇性地略過此程序,並改為儲存二進制日誌索引檔案的副本以及資料快照。在這種情況下,來源會在重新啟動時建立新的二進制日誌檔案。因此,副本必須開始複製程序的來源二進制日誌座標是新檔案的開頭,也就是來源上複製二進制日誌索引檔案中列出之檔案之後的下一個二進制日誌檔案。

若要取得來源二進制日誌座標,請遵循下列步驟

  1. 透過使用命令列用戶端連線到來源來啟動來源上的工作階段,並執行 FLUSH TABLES WITH READ LOCK 陳述式來清空所有資料表並封鎖寫入陳述式

    mysql> FLUSH TABLES WITH READ LOCK;
    警告

    讓您發出 FLUSH TABLES 陳述式的用戶端保持執行,以便讀取鎖定保持有效。如果您結束用戶端,鎖定會釋放。

  2. 在來源上的不同工作階段中,使用 SHOW BINARY LOG STATUS 陳述式來判斷目前的二進制日誌檔案名稱和位置

    mysql> SHOW BINARY LOG STATUS\G
    *************************** 1. row ***************************
                 File: mysql-bin.000003
             Position: 73
         Binlog_Do_DB: test
     Binlog_Ignore_DB: manual, mysql
    Executed_Gtid_Set: 3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5
    1 row in set (0.00 sec)

    File」欄位顯示日誌檔的名稱,「Position」欄位顯示檔案中的位置。在本範例中,二進位日誌檔為「mysql-bin.000003」,而位置為 73。請記錄這些值。稍後在設定複本時需要用到它們。它們代表複本應開始處理來源新更新的複寫座標。

    如果來源先前在停用二進位日誌的情況下執行,則「SHOW BINARY LOG STATUS」或「mysqldump--source-data」所顯示的日誌檔名稱和位置值為空。在這種情況下,稍後在指定來源的二進位日誌檔和位置時需要使用的值為空字串(「''」)和「4」。

您現在已擁有使複本能夠開始從來源的二進位日誌中正確位置讀取以開始複寫所需的資訊。

下一步取決於您在來源上是否已有現有資料。請選擇下列其中一個選項