Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

7.6.7.13 克隆系统变量

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

每个系统变量都有默认值。系统变量可以在服务器启动时使用命令行选项或选项文件设置。它们可以使用 SET 语句动态地在运行时更改,从而允许您在不需要停止和重新启动服务器的情况下修改服务器的操作。

通常,设置全局系统变量的运行时值需要 SYSTEM_VARIABLES_ADMIN 权限(或已弃用的 SUPER 权限)。有关更多信息,请参阅 第 7.1.9.1 节,“系统变量权限”

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

  • clone_autotune_concurrency

    Command-Line Format --clone-autotune-concurrency
    System Variable clone_autotune_concurrency
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 布尔值
    Default Value ON

    clone_autotune_concurrency 启用(默认情况下)时,会动态生成额外的线程以优化远程克隆操作的数据传输速度。该设置仅适用于接收 MySQL 服务器实例。

    在克隆操作期间,线程数将逐步增加,目标是当前线程数的两倍。每次增加时都会评估数据传输速度的影响。如果数据传输速度下降超过 5%,则停止过程。

    • 如果在达到目标的 25% 时数据传输速度至少提高了 5%,则继续过程。否则,停止过程。

    • 如果在达到目标的 50% 时数据传输速度至少提高了 10%,则继续过程。否则,停止过程。

    • 如果在达到目标的 50% 时数据传输速度至少提高了 10%,则继续过程。否则,停止过程。

    • 如果在达到目标后至少有25%的改进,过程将继续向新的目标,目标是当前线程数的两倍。否则,过程将停止。

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

    变量clone_max_concurrency定义了可以生成的最大线程数。

    如果clone_autotune_concurrency被禁用,clone_max_concurrency定义了远程克隆操作中生成的线程数。

  • clone_buffer_size

    Command-Line Format --clone-buffer-size
    System Variable clone_buffer_size
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 4194304
    Minimum Value 1048576
    Maximum Value 268435456
    Unit 字节

    定义了在本地克隆操作期间用于传输数据的中间缓冲区的大小。默认值为4 mebibytes(MiB)。较大的缓冲区大小可能允许I/O设备驱动程序并行获取数据,从而改善克隆性能。

  • clone_block_ddl

    Command-Line Format --clone-block-ddl
    System Variable clone_block_ddl
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 布尔值
    Default Value OFF

    在克隆操作期间在donor MySQL Server实例上启用独占备份锁,以阻止并发DDL操作。请参阅第7.6.7.4节,“克隆和并发DDL”

  • clone_delay_after_data_drop

    Command-Line Format --clone-delay-after-data-drop
    System Variable clone_delay_after_data_drop
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 0
    Minimum Value 0
    Maximum Value 3600
    Unit 字节

    指定在远程克隆操作开始时,在接收方 MySQL Server 实例上删除现有数据后的延迟期。该延迟旨在为接收主机上的文件系统释放空间提供足够的时间,以便从捐赠者 MySQL Server 实例克隆数据。在某些文件系统(如 VxFS)上,克隆操作可能会由于空间不足而失败,因为这些文件系统异步释放空间。该延迟期的最大值为 3600 秒(1 小时)。默认设置为 0(无延迟)。

    该变量仅适用于远程克隆操作,并在接收方 MySQL Server 实例上配置。

  • clone_ddl_timeout

    Command-Line Format --clone-ddl-timeout
    System Variable clone_ddl_timeout
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 300
    Minimum Value 0
    Maximum Value 2592000
    Unit

    克隆操作等待备份锁定的时间,以秒为单位。备份锁定阻止了并发 DDL 操作的执行,该设置适用于捐赠者和接收方 MySQL Server 实例。

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

    如果 clone_block_ddl 设置为 OFF(默认),则在捐赠者上允许并发 DDL 操作。在这种情况下,克隆操作不需要等待捐赠者的备份锁定。请参阅 第 7.6.7.4 节,“克隆和并发 DDL”

  • clone_donor_timeout_after_network_failure

    Command-Line Format --clone-donor-timeout-after-network-failure
    System Variable clone_donor_timeout_after_network_failure
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 5
    Minimum Value 0
    Maximum Value 30
    Unit 分钟

    定义了捐赠者允许的时间(以分钟为单位),以便在网络故障后重新连接并重新启动克隆操作。有关更多信息,请参阅第 7.6.7.9 节,“远程克隆操作故障处理”

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

  • clone_enable_compression

    Command-Line Format --clone-enable-compression
    System Variable clone_enable_compression
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 布尔值
    Default Value OFF

    启用远程克隆操作期间网络层的数据压缩。压缩可以节省网络带宽,但需要 CPU 资源。启用压缩可能会提高数据传输速率。该设置仅适用于接收者 MySQL 服务器实例。

  • clone_max_concurrency

    Command-Line Format --clone-max-concurrency
    System Variable clone_max_concurrency
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 16
    Minimum Value 1
    Maximum Value 128
    Unit 线程

    定义远程克隆操作的最大并发线程数。默认值为 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

    Command-Line Format --clone-max-data-bandwidth
    System Variable clone_max_data_bandwidth
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 0
    Minimum Value 0
    Maximum Value 1048576
    Unit MiB/秒

    定义远程克隆操作的最大数据传输率,以 mebibyte (MiB) 每秒为单位。该变量有助于管理克隆操作的性能影响。如果磁盘 I/O 带宽饱和,影响性能,可以设置限制。值为 0 表示“无限制”,允许克隆操作以最高可能的数据传输率运行。该设置仅适用于接收方 MySQL 服务器实例。

    每个线程的最小数据传输率为 1 MiB/秒。例如,如果有 8 个线程,则最小传输率为 8 MiB/秒。clone_max_concurrency 变量控制远程克隆操作的最大线程数。

    clone_max_data_bandwidth 指定的请求数据传输率可能与 DATA_SPEED 列在 performance_schema.clone_progress 表中报告的实际数据传输率不同。如果您的克隆操作未达到所需的数据传输率,并且您有可用的带宽,请检查接收方和捐赠者的 I/O 使用情况。如果有未充分利用的带宽,I/O 是下一个最可能的瓶颈。

  • clone_max_network_bandwidth

    Command-Line Format --clone-max-network-bandwidth
    System Variable clone_max_network_bandwidth
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 0
    Minimum Value 0
    Maximum Value 1048576
    Unit MiB/秒

    指定远程克隆操作的最大近似网络传输速率(以MiB/秒为单位)。此变量可用于管理克隆操作对网络带宽的性能影响。当网络带宽饱和,影响捐赠实例的性能时,才应设置此变量。值为0表示“无限制”,允许克隆操作以最高可能的数据传输速率通过网络,提供最佳性能。此设置仅适用于接收器MySQL服务器实例。

  • clone_ssl_ca

    Command-Line Format --clone-ssl-ca=file_name
    System Variable clone_ssl_ca
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 文件名
    Default Value 空字符串

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

  • clone_ssl_cert

    Command-Line Format --clone-ssl-cert=file_name
    System Variable clone_ssl_cert
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 文件名
    Default Value 空字符串

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

  • clone_ssl_key

    Command-Line Format --clone-ssl-key=file_name
    System Variable clone_ssl_key
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 文件名
    Default Value 空字符串

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

  • clone_valid_donor_list

    Command-Line Format --clone-valid-donor-list=value
    System Variable clone_valid_donor_list
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value 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 权限。

    不支持 Internet 协议版本 6(IPv6)地址格式。可以使用 IPv6 地址的别名代替。IPv4 地址可以原样使用。