Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


7.6.7.13 克隆系统变量

本节描述克隆插件的系统变量。如果在启动时指定的值不正确,克隆插件可能无法初始化properly,并且服务器也不会加载它。在这种情况下,服务器还可能会产生其他克隆设置错误信息。

每个系统变量都有默认值。系统变量可以在服务器启动时使用命令行选项或配置文件来设置,也可以动态地在运行时使用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%的改进,过程继续。否则,过程停止。

    • 如果达到目标后至少有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 MiB。更大的缓冲区大小可能使I/O设备驱动程序并行fetch数据,可以提高克隆性能。

  • clone_block_ddl

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

    在克隆操作中,启用独占备份锁定对捐赠 MySQL 服务器实例,从而阻止捐赠实例上的并发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 服务器实例上的现有数据后延迟的时间段。延迟期望为文件系统在捐赠主机上释放空间,以便从捐赠 MySQL 服务器实例中克隆数据。某些文件系统,如 VxFS,异步地在背景进程中释放空间。在这些文件系统上,太早地克隆数据可能会导致克隆操作失败,因为空间不足。最大延迟期限为3600秒(1小时)。默认设置为0(无延迟)。

    这个变量只适用于远程克隆操作,并且在捐赠 MySQL 服务器实例上配置。

  • 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服务器实例上都生效。

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

    在克隆操作中,捐赠服务器允许并发DDL,如果clone_block_ddl设置为OFF(默认值)。在这种情况下,克隆操作不需要在捐赠服务器上等待备份锁。请参阅第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 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/秒

    定义远程克隆操作的最大数据传输率,单位为兆字节(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

    Command-Line Format --clone-max-network-bandwidth
    System Variable clone_max_network_bandwidth
    Scope Global
    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

    指定加密连接的证书授权文件路径。用于远程克隆操作的配置,配置在接收端,并在与捐赠端建立连接时使用。

  • 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" 需要"SYSTEM_VARIABLES_ADMIN"特权,而执行远程克隆操作需要"CLONE_ADMIN"特权,允许将这些责任分配给不同的角色。

    不支持 Internet Protocol 版本 6(IPv6)地址格式。可以使用 IPv6 地址的别名 Alternatively,可以直接使用 IPv4 地址。