文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
手冊頁 (TGZ) - 258.5Kb
手冊頁 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  取得複製來源二進位日誌坐標

19.1.2.4 取得複製來源二進位日誌坐標

為了設定複本從正確的點開始複製程序,您需要記下來源在其二進位日誌中的目前坐標。

警告

此程序使用 FLUSH TABLES WITH READ LOCK,這會封鎖 COMMIT 操作以用於 InnoDB 資料表。

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

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

  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 STATUSmysqldump --source-data 所顯示的日誌檔名和位置值會是空的。在這種情況下,當您稍後指定來源的二進位日誌檔和位置時,您需要使用的值會是空字串 ('') 和 4

您現在已具備所需的資訊,可以啟用複本從來源的二進位日誌中正確的位置開始讀取,以開始複製。

下一步取決於您在來源上是否已存在資料。請選擇以下選項之一