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


7.6.7.13 Clone 系統變數

本節說明控制 Clone 外掛程式運作的系統變數。如果啟動時指定的值不正確,Clone 外掛程式可能無法正確初始化,且伺服器不會載入它。在這種情況下,伺服器也可能產生其他 Clone 設定的錯誤訊息,因為它無法識別它們。

每個系統變數都有預設值。系統變數可以在伺服器啟動時使用命令列上的選項或選項檔案來設定。它們可以使用 SET 陳述式在執行階段動態變更,這使您能夠修改伺服器的運作方式,而無需停止和重新啟動它。

設定全域系統變數執行階段值通常需要 SYSTEM_VARIABLES_ADMIN 權限 (或已棄用的 SUPER 權限)。如需詳細資訊,請參閱 第 7.1.9.1 節「系統變數權限」

Clone 變數在執行複製操作的接收端 MySQL 伺服器執行個體上設定。

  • clone_autotune_concurrency

    命令列格式 --clone-autotune-concurrency
    系統變數 clone_autotune_concurrency
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 布林值
    預設值 開啟

    當啟用 clone_autotune_concurrency (預設值) 時,會動態產生用於遠端複製操作的額外執行緒,以最佳化資料傳輸速度。此設定僅適用於接收端 MySQL 伺服器執行個體。

    在複製操作期間,執行緒數量會逐步增加,目標是達到目前執行緒數量的兩倍。每次增加時,都會評估對資料傳輸速度的影響。該過程會根據以下規則繼續或停止:

    • 如果資料傳輸速度在增加執行緒時降低超過 5%,則該過程停止。

    • 如果在達到目標的 25% 後,速度至少提升 5%,則該過程繼續。否則,該過程停止。

    • 如果在達到目標的 50% 後,速度至少提升 10%,則該過程繼續。否則,該過程停止。

    • 如果在達到目標後,速度至少提升 25%,則該過程會繼續朝新的目標(目前執行緒數量的兩倍)邁進。否則,該過程停止。

    自動調整過程不支援減少執行緒數量。

    clone_max_concurrency 變數定義可以產生的最大執行緒數量。

    如果停用 clone_autotune_concurrency,則 clone_max_concurrency 定義遠端複製操作產生的執行緒數量。

  • clone_buffer_size

    命令列格式 --clone-buffer-size
    系統變數 clone_buffer_size
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 整數
    預設值 4194304
    最小值 1048576
    最大值 268435456
    單位 位元組

    定義在本地複製操作期間傳輸資料時使用的中間緩衝區大小。預設值為 4 mebibytes (MiB)。較大的緩衝區大小可能允許 I/O 裝置驅動程式平行擷取資料,從而提高複製效能。

  • clone_block_ddl

    命令列格式 --clone-block-ddl
    系統變數 clone_block_ddl
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 布林值
    預設值 關閉

    在複製操作期間,對捐贈者 MySQL 伺服器實例啟用獨佔備份鎖,這會阻止捐贈者上的並行 DDL 操作。請參閱 章節 7.6.7.4,「複製和並行 DDL」

  • clone_delay_after_data_drop

    命令列格式 --clone-delay-after-data-drop
    系統變數 clone_delay_after_data_drop
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 整數
    預設值 0
    最小值 0
    最大值 3600
    單位 位元組

    指定在遠端複製操作開始時,移除接收者 MySQL 伺服器實例上的現有資料後立即的延遲時間。此延遲旨在為接收主機上的檔案系統提供足夠的時間來釋放空間,然後再從捐贈者 MySQL 伺服器實例複製資料。某些檔案系統(例如 VxFS)會在背景程序中非同步釋放空間。在這些檔案系統上,如果移除現有資料後太快複製資料,可能會由於空間不足而導致複製操作失敗。最大延遲時間為 3600 秒(1 小時)。預設設定為 0(無延遲)。

    此變數僅適用於遠端複製操作,並在接收者 MySQL 伺服器實例上設定。

  • clone_ddl_timeout

    命令列格式 --clone-ddl-timeout
    系統變數 clone_ddl_timeout
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 整數
    預設值 300
    最小值 0
    最大值 2592000
    單位

    複製操作等待備份鎖的時間(以秒為單位)。備份鎖會在執行複製操作時阻止並行 DDL。此設定會套用至捐贈者和接收者 MySQL 伺服器實例。

    設定為 0 表示複製操作不會等待備份鎖。在這種情況下,執行並行 DDL 操作可能會導致複製操作失敗。

    如果 clone_block_ddl 設定為 OFF(預設值),則允許在複製操作期間在捐贈者上執行並行 DDL。在這種情況下,複製操作不必等待捐贈者上的備份鎖。請參閱 章節 7.6.7.4,「複製和並行 DDL」

  • clone_donor_timeout_after_network_failure

    命令列格式 --clone-donor-timeout-after-network-failure
    系統變數 clone_donor_timeout_after_network_failure
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 整數
    預設值 5
    最小值 0
    最大值 30
    單位 分鐘

    定義在網路故障後,捐贈者允許接收者重新連線並重新啟動複製操作的時間(以分鐘為單位)。如需更多資訊,請參閱 章節 7.6.7.9,「遠端複製操作失敗處理」

    此變數是在捐贈者 MySQL 伺服器實例上設定。在接收者 MySQL 伺服器實例上設定沒有任何作用。

  • clone_enable_compression

    命令列格式 --clone-enable-compression
    系統變數 clone_enable_compression
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 布林值
    預設值 關閉

    在遠端複製操作期間,啟用網路層的資料壓縮。壓縮會以 CPU 為代價節省網路頻寬。啟用壓縮可能會提高資料傳輸速率。此設定僅套用至接收者 MySQL 伺服器實例。

  • clone_max_concurrency

    命令列格式 --clone-max-concurrency
    系統變數 clone_max_concurrency
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 整數
    預設值 16
    最小值 1
    最大值 128
    單位 執行緒

    定義遠端複製操作的最大並行執行緒數量。預設值為 16。較多的執行緒數量可以提高複製效能,但也可能減少允許的同時用戶端連線數量,這會影響現有用戶端連線的效能。此設定僅套用至接收者 MySQL 伺服器實例。

    如果啟用 clone_autotune_concurrency(預設值),則 clone_max_concurrency 是遠端複製操作可以動態產生的最大執行緒數量。如果停用 clone_autotune_concurrency,則 clone_max_concurrency 定義遠端複製操作產生的執行緒數量。

    建議遠端複製操作的每個執行緒的最小資料傳輸速率為 1 mebibyte (MiB)。遠端複製操作的資料傳輸速率由 clone_max_data_bandwidth 變數控制。

  • clone_max_data_bandwidth

    命令列格式 --clone-max-data-bandwidth
    系統變數 clone_max_data_bandwidth
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 整數
    預設值 0
    最小值 0
    最大值 1048576
    單位 MiB/秒

    定義遠端複製操作的最大資料傳輸速率(以 mebibytes (MiB) 每秒為單位)。此變數有助於管理複製操作的效能影響。只有在捐贈者磁碟 I/O 頻寬飽和而影響效能時,才應設定限制。值為 0 表示 無限制,這允許複製操作以最高的資料傳輸速率執行。此設定僅適用於接收者 MySQL 伺服器實例。

    每個執行緒的最小資料傳輸速率為每秒 1 MiB。例如,如果有 8 個執行緒,則最小傳輸速率為每秒 8 MiB。 clone_max_concurrency 變數控制遠端複製操作產生的最大執行緒數量。

    clone_max_data_bandwidth 指定的請求資料傳輸速率可能與 performance_schema.clone_progress 表格中 DATA_SPEED 欄報告的實際資料傳輸速率不同。如果您的複製操作未達到所需的資料傳輸速率,且您有可用的頻寬,請檢查接收者和捐贈者上的 I/O 使用率。如果頻寬未充分利用,則 I/O 很可能是下一個瓶頸。

  • clone_max_network_bandwidth

    命令列格式 --clone-max-network-bandwidth
    系統變數 clone_max_network_bandwidth
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 整數
    預設值 0
    最小值 0
    最大值 1048576
    單位 MiB/秒

    指定遠端複製操作的最大約略網路傳輸速率(以 mebibytes (MiB) 每秒為單位)。此變數可用於管理複製操作對網路頻寬的效能影響。只有在網路頻寬飽和而影響捐贈者實例效能時,才應設定此變數。值為 0 表示 無限制,這允許通過網路以最高的資料傳輸速率進行複製,從而提供最佳效能。此設定僅適用於接收者 MySQL 伺服器實例。

  • clone_ssl_ca

    命令列格式 --clone-ssl-ca=檔案名稱
    系統變數 clone_ssl_ca
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 檔案名稱
    預設值 空字串

    指定憑證授權單位 (CA) 檔案的路徑。用於設定遠端複製操作的加密連線。此設定是在接收者上設定,並在連線到捐贈者時使用。

  • clone_ssl_cert

    命令列格式 --clone-ssl-cert=檔案名稱
    系統變數 clone_ssl_cert
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 檔案名稱
    預設值 空字串

    指定公鑰憑證的路徑。用於設定遠端複製操作的加密連線。此設定是在接收者上設定,並在連線到捐贈者時使用。

  • clone_ssl_key

    命令列格式 --clone-ssl-key=檔案名稱
    系統變數 clone_ssl_key
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 檔案名稱
    預設值 空字串

    指定私鑰檔案的路徑。用於設定遠端複製操作的加密連線。此設定是在接收者上設定,並在連線到捐贈者時使用。

  • clone_valid_donor_list

    命令列格式 --clone-valid-donor-list=值
    系統變數 clone_valid_donor_list
    範圍 全域
    動態
    SET_VAR 提示套用
    類型 字串
    預設值 NULL

    定義遠端複製操作的有效捐贈者主機位址。此設定是在接收者 MySQL 伺服器實例上套用。允許使用逗號分隔的值清單,格式如下:HOST1:PORT1,HOST2:PORT2,HOST3:PORT3。不允許空格。

    clone_valid_donor_list 變數透過控制複製資料的來源,增加了一層安全性。設定 clone_valid_donor_list 所需的權限與執行遠端複製操作所需的權限不同,這允許將這些責任分配給不同的角色。設定 clone_valid_donor_list 需要 SYSTEM_VARIABLES_ADMIN 權限,而執行遠端複製操作需要 CLONE_ADMIN 權限。

    不支援網際網路協定版本 6 (IPv6) 位址格式。不支援網際網路協定版本 6 (IPv6) 位址格式。可以使用 IPv6 位址的別名來代替。IPv4 位址可以直接使用。