#### 5.6.7.13 克隆系统变量

本节介绍控制克隆插件操作的系统变量。如果在启动时指定的值不正确，则克隆插件可能无法正确初始化并且服务器不会加载它。在这种情况下，服务器也可能会为其他克隆设置生成错误消息，因为它无法识别它们。

每个系统变量都有一个默认值。可以在服务器启动时使用命令行或选项文件中的选项设置系统变量。它们可以在运行时使用[`放`](set.html)语句，它使您能够修改服务器的操作，而无需停止并重新启动它。

设置全局系统变量运行时值通常需要[`SYSTEM_VARIABLES_ADMIN`](privileges-provided.html#priv_system-variables-admin)特权（或已弃用的[`极好的`](privileges-provided.html#priv_super)特权）。有关详细信息，请参阅[第 5.1.9.1 节，“系统变量权限”](system-variable-privileges.html).

克隆变量在执行克隆操作的接收 MySQL 服务器实例上配置。

-   [](<>) [`clone_autotune_concurrency`](clone-plugin-options-variables.html#sysvar_clone_autotune_concurrency)

    [](<>)[](<>)

    | 命令行格式 | `--clone-autotune-concurrency` |
    | ----- | ------------------------------ |
    | 介绍 | 8.0.17 |
    | 系统变量 | `[clone_autotune_concurrency](clone-plugin-options-variables.html#sysvar_clone_autotune_concurrency)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `在` |

    什么时候[`clone_autotune_concurrency`](clone-plugin-options-variables.html#sysvar_clone_autotune_concurrency)启用（默认），用于远程克隆操作的附加线程会动态生成以优化数据传输速度。该设置仅适用于接收 MySQL 服务器实例。

    在克隆操作期间，线程数逐渐增加到当前线程数的两倍。在每个增量处评估对数据传输速度的影响。该过程根据以下规则继续或停止：

    -   如果数据传输速度随着增量的增加而下降超过 5%，则该过程停止。

    -   如果在达到目标的 25% 后至少有 5% 的改进，则该过程继续进行。否则，该过程停止。

    -   如果在达到目标的 50% 后至少有 10% 的改进，则该过程继续进行。否则，该过程停止。

    -   如果在达到目标后至少有 25% 的改进，则该过程将继续朝着当前线程数翻倍的新目标前进。否则，该过程停止。

        自动调整过程不支持减少线程数。

        这[`clone_max_concurrency`](clone-plugin-options-variables.html#sysvar_clone_max_concurrency)变量定义可以产生的最大线程数。

        如果[`clone_autotune_concurrency`](clone-plugin-options-variables.html#sysvar_clone_autotune_concurrency)被禁用，[`clone_max_concurrency`](clone-plugin-options-variables.html#sysvar_clone_max_concurrency)定义为远程克隆操作生成的线程数。

-   [](<>) [`克隆缓冲区大小`](clone-plugin-options-variables.html#sysvar_clone_buffer_size)

    [](<>)[](<>)

    | 命令行格式 | `--克隆缓冲区大小` |
    | ----- | ----------- |
    | 介绍 | 8.0.17 |
    | 系统变量 | `[clone_buffer_size](clone-plugin-options-variables.html#sysvar_clone_buffer_size)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `4194304` |
    | 最小值 | `1048576` |
    | 最大值 | `268435456` |
    | 单元 | `字节` |

    定义在本地克隆操作期间传输数据时使用的中间缓冲区的大小。默认值为 4 兆字节 (MiB)。较大的缓冲区大小可能允许 I/O 设备驱动程序并行获取数据，这可以提高克隆性能。

-   [](<>) [`clone_block_ddl`](clone-plugin-options-variables.html#sysvar_clone_block_ddl)

    [](<>)[](<>)

    | 命令行格式 | `--clone-block-ddl` |
    | ----- | ------------------- |
    | 介绍 | 8.0.27 |
    | 系统变量 | `[clone_block_ddl](clone-plugin-options-variables.html#sysvar_clone_block_ddl)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `离开` |

    在克隆操作期间，在捐赠者 MySQL 服务器实例上启用独占备份锁，这会阻止捐赠者上的并发 DDL 操作。看[第 5.6.7.4 节，“克隆和并发 DDL”](clone-plugin-concurrent-ddl.html).

-   [](<>) [`clone_delay_after_data_drop`](clone-plugin-options-variables.html#sysvar_clone_delay_after_data_drop)

    [](<>)[](<>)

    | 命令行格式 | `--数据删除后的克隆延迟` |
    | ----- | -------------- |
    | 介绍 | 8.0.29 |
    | 系统变量 | `[clone_delay_after_data_drop](clone-plugin-options-variables.html#sysvar_clone_delay_after_data_drop)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `0` |
    | 最小值 | `0` |
    | 最大值 | `3600` |
    | 单元 | `字节` |

    指定在远程克隆操作开始时删除接收 MySQL 服务器实例上的现有数据后立即的延迟时间。延迟旨在为接收主机上的文件系统提供足够的时间，以便在从捐助 MySQL 服务器实例克隆数据之前释放空间。某些文件系统（例如 VxFS）在后台进程中异步释放空间。在这些文件系统上，在删除现有数据后过早克隆数据可能会因空间不足而导致克隆操作失败。最大延迟时间为 3600 秒（1 小时）。默认设置为 0（无延迟）。

    此变量仅适用于远程克隆操作，并在接收 MySQL 服务器实例上配置。

-   [](<>) [`clone_ddl_timeout`](clone-plugin-options-variables.html#sysvar_clone_ddl_timeout)

    [](<>)[](<>)

    | 命令行格式 | `--克隆-ddl-超时` |
    | ----- | ------------- |
    | 介绍 | 8.0.17 |
    | 系统变量 | `[clone_ddl_timeout](clone-plugin-options-variables.html#sysvar_clone_ddl_timeout)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `300` |
    | 最小值 | `0` |
    | 最大值 | `2592000` |
    | 单元 | `秒` |

    克隆操作等待备份锁的时间（以秒为单位）。执行克隆操作时，备份锁会阻止并发 DDL。此设置适用于捐助者和接收者 MySQL 服务器实例。

    设置为 0 表示克隆操作不等待备份锁。在这种情况下，执行并发 DDL 操作可能会导致克隆操作失败。

    在 MySQL 8.0.27 之前，备份锁会在克隆操作期间阻止供方和接收方上的并发 DDL 操作，并且在当前 DDL 操作完成之前无法继续进行克隆操作。从 MySQL 8.0.27 开始，如果在克隆操作期间，捐助者上允许并发 DDL[`clone_block_ddl`](clone-plugin-options-variables.html#sysvar_clone_block_ddl)变量已启用（默认）。在这种情况下，克隆操作不必等待施主上的备份锁。看[第 5.6.7.4 节，“克隆和并发 DDL”](clone-plugin-concurrent-ddl.html).

-   [](<>) [`clone_donor_timeout_after_network_failure`](clone-plugin-options-variables.html#sysvar_clone_donor_timeout_after_network_failure)

    [](<>)[](<>)

    | 命令行格式 | `--clone-donor-timeout-after-network-failure` |
    | ----- | --------------------------------------------- |
    | 介绍 | 8.0.24 |
    | 系统变量 | `[clone_donor_timeout_after_network_failure]（clone-plugin-options-variables.html#sysvar_clone_donor_timeout_after_network_failure）` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `5` |
    | 最小值 | `0` |
    | 最大值 | `30` |
    | 单元 | `分钟` |

    以分钟为单位定义捐助者允许接收者在网络故障后重新连接并重新启动克隆操作的时间量。有关详细信息，请参阅[第 5.6.7.9 节，“远程克隆操作失败处理”](clone-plugin-failure-handling.html).

    此变量在捐赠者 MySQL 服务器实例上设置。在接收 MySQL 服务器实例上设置它没有效果。

-   [](<>) [`clone_enable_compression`](clone-plugin-options-variables.html#sysvar_clone_enable_compression)

    [](<>)[](<>)

    | 命令行格式 | `--克隆启用压缩` |
    | ----- | ---------- |
    | 介绍 | 8.0.17 |
    | 系统变量 | `[clone_enable_compression](clone-plugin-options-variables.html#sysvar_clone_enable_compression)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `离开` |

    在远程克隆操作期间启用网络层的数据压缩。压缩以 CPU 为代价节省了网络带宽。启用压缩可能会提高数据传输率。此设置仅适用于接收 MySQL 服务器实例。

-   [](<>) [`clone_max_concurrency`](clone-plugin-options-variables.html#sysvar_clone_max_concurrency)

    [](<>)[](<>)

    | 命令行格式 | `--clone-max-concurrency` |
    | ----- | ------------------------- |
    | 介绍 | 8.0.17 |
    | 系统变量 | `[clone_max_concurrency](clone-plugin-options-variables.html#sysvar_clone_max_concurrency)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `16` |
    | 最小值 | `1.` |
    | 最大值 | `128` |

    定义远程克隆操作的最大并发线程数。默认值为16。更多线程可以提高克隆性能，但也会减少允许的同时客户端连接的数量，这可能会影响现有客户端连接的性能。此设置仅应用于收件人MySQL服务器实例。

    如果[`克隆自动调谐并发`](clone-plugin-options-variables.html#sysvar_clone_autotune_concurrency)已启用（默认值），[`克隆\u最大\u并发`](clone-plugin-options-variables.html#sysvar_clone_max_concurrency)是可以为远程克隆操作动态生成的最大线程数。如果[`克隆自动调谐并发`](clone-plugin-options-variables.html#sysvar_clone_autotune_concurrency)是残疾的，[`克隆\u最大\u并发`](clone-plugin-options-variables.html#sysvar_clone_max_concurrency)定义为远程克隆操作生成的线程数。

    对于远程克隆操作，建议每个线程的最小数据传输速率为1兆字节（MiB）。远程克隆操作的数据传输速率由[`克隆\u最大\u数据\u带宽`](clone-plugin-options-variables.html#sysvar_clone_max_data_bandwidth)变量

-   [](<>) [`克隆\u最大\u数据\u带宽`](clone-plugin-options-variables.html#sysvar_clone_max_data_bandwidth)

    [](<>)[](<>)

    | 命令行格式 | `--克隆最大数据带宽` |
    | ----- | ------------ |
    | 介绍 | 8.0.17 |
    | 系统变量 | `[clone_max_data_bandwidth]（clone plugin options variables.html#sysvar_clone_max_data_bandwidth）` |
    | 范围 | 全球的 |
    | 动态 | 对 |
    | [`集_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `0` |
    | 最小值 | `0` |
    | 最大值 | `1048576` |
    | 单元 | `miB/秒` |

    定义远程克隆操作的最大数据传输速率（以兆字节/秒（MiB）为单位）。此变量有助于管理克隆操作对性能的影响。只有当施主磁盘I/O带宽饱和，影响性能时，才应设置限制。值为0表示“无限制”，这允许克隆操作以尽可能高的数据传输速率运行。此设置仅适用于收件人MySQL服务器实例。

    最小数据传输速率为每秒每线程1 MiB。例如，如果有8个线程，则最小传输速率为每秒8个MiB。这个[`克隆\u最大\u并发`](clone-plugin-options-variables.html#sysvar_clone_max_concurrency)变量控制为远程克隆操作生成的最大线程数。

    由指定的请求数据传输速率[`克隆\u最大\u数据\u带宽`](clone-plugin-options-variables.html#sysvar_clone_max_data_bandwidth)可能与报告的实际数据传输速率不同`数据传输速度`中的列`性能模式。克隆_进展`桌子如果克隆操作未达到所需的数据传输速率，并且您有可用带宽，请检查收件人和捐赠者的I/O使用情况。如果存在未充分利用的带宽，I/O将是下一个最有可能的瓶颈。

-   [](<>) [`克隆\u最大\u网络\u带宽`](clone-plugin-options-variables.html#sysvar_clone_max_network_bandwidth)

    [](<>)[](<>)

    | 命令行格式 | `--克隆最大网络带宽` |
    | ----- | ------------ |
    | 介绍 | 8.0.17 |
    | 系统变量 | `[clone_max_network_bandwidth]（clone plugin options variables.html#sysvar_clone_max_network_bandwidth）` |
    | 范围 | 全球的 |
    | 动态 | 对 |
    | [`集_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `0` |
    | 最小值 | `0` |
    | 最大值 | `1048576` |
    | 单元 | `miB/秒` |

    指定远程克隆操作的最大近似网络传输速率，单位为每秒兆字节（MiB）。此变量可用于管理克隆操作对网络带宽的性能影响。只有当网络带宽饱和，影响施主实例的性能时，才应设置该值。值为0表示“无限”，这允许在网络上以尽可能高的数据传输速率进行克隆，从而提供最佳性能。此设置仅适用于收件人MySQL服务器实例。

-   [](<>) [`克隆_ssl _ca`](clone-plugin-options-variables.html#sysvar_clone_ssl_ca)

    [](<>)[](<>)

    | 命令行格式 | `--克隆ssl ca=文件名` |
    | ----- | ---------------- |
    | 介绍 | 8.0.14 |
    | 系统变量 | `[clone_ssl_ca]（clone plugin options variables.html#sysvar_clone_ssl_ca）` |
    | 范围 | 全球的 |
    | 动态 | 对 |
    | [`集_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 文件名 |
    | 默认值 | `空字符串` |

    指定证书颁发机构（CA）文件的路径。用于为远程克隆操作配置加密连接。此设置在收件人上配置，并在连接到捐赠者时使用。

-   [](<>) [`克隆ssl证书`](clone-plugin-options-variables.html#sysvar_clone_ssl_cert)

    [](<>)[](<>)

    | 命令行格式 | `--克隆ssl证书=文件名` |
    | ----- | --------------- |
    | 介绍 | 8.0.14 |
    | 系统变量 | `[clone_ssl_cert]（clone plugin options variables.html#sysvar_clone_ssl_cert）` |
    | 范围 | 全球的 |
    | 动态 | 对 |
    | [`集_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 文件名 |
    | 默认值 | `空字符串` |

    指定公钥证书的路径。用于为远程克隆操作配置加密连接。此设置在收件人上配置，并在连接到捐赠者时使用。

-   [](<>) [`克隆ssl密钥`](clone-plugin-options-variables.html#sysvar_clone_ssl_key)

    [](<>)[](<>)

    | 命令行格式 | `--克隆ssl密钥=文件名` |
    | ----- | --------------- |
    | 介绍 | 8.0.14 |
    | 系统变量 | `[clone_ssl_key]（clone plugin options variables.html#sysvar_clone_ssl_key）` |
    | 范围 | 全球的 |
    | 动态 | 对 |
    | [`集_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 文件名 |
    | 默认值 | `空字符串` |

    指定私钥文件的路径。用于为远程克隆操作配置加密连接。此设置在收件人上配置，并在连接到捐赠者时使用。

-   [](<>) [`克隆有效捐赠者列表`](clone-plugin-options-variables.html#sysvar_clone_valid_donor_list)

    [](<>)[](<>)

    | 命令行格式 | `--克隆有效的捐赠者列表=值` |
    | ----- | ---------------- |
    | 介绍 | 8.0.17 |
    | 系统变量 | `[clone_valid_provider_list]（clone plugin options variables.html#sysvar_clone_valid_provider_list）` |
    | 范围 | 全球的 |
    | 动态 | 对 |
    | [`集_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 一串 |
    | 默认值 | `无效的` |

    为远程克隆操作定义有效的施主主机地址。此设置应用于收件人MySQL服务器实例。允许使用以下格式的逗号分隔的值列表：”`HOST1:PORT1，HOST2:PORT2，HOST3:PORT3`”. 空间是不允许的。

    这个[`克隆有效捐赠者列表`](clone-plugin-options-variables.html#sysvar_clone_valid_donor_list)变量通过提供对克隆数据源的控制，增加了一层安全性。配置所需的权限[`克隆有效捐赠者列表`](clone-plugin-options-variables.html#sysvar_clone_valid_donor_list)与执行远程克隆操作所需的权限不同，后者允许将这些职责分配给不同的角色。配置[`克隆有效捐赠者列表`](clone-plugin-options-variables.html#sysvar_clone_valid_donor_list)需要[`系统变量管理`](privileges-provided.html#priv_system-variables-admin)特权，而执行远程克隆操作需要[`克隆管理员`](privileges-provided.html#priv_clone-admin)特权

    不支持Internet协议版本6（IPv6）地址格式。不支持Internet协议版本6（IPv6）地址格式。可以改用IPv6地址的别名。IPv4地址可以按原样使用。
