文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


7.6.7.13 Clone 系統變數

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

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

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

複製變數是在執行複製操作的接收者 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 mebibyte (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 兆位元組 (MiB)。遠端複製操作的資料傳輸速率由 clone_max_data_bandwidth 變數控制。

  • clone_max_data_bandwidth

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

    定義遠端複製操作的最大資料傳輸速率,以兆位元組 (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/秒

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

  • clone_ssl_ca

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

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

  • clone_ssl_cert

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

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

  • clone_ssl_key

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

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

  • clone_valid_donor_list

    命令列格式 --clone-valid-donor-list=value
    系統變數 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 位址可以直接使用。