文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  克隆系统变量

7.6.7.13 克隆系统变量

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

每个系统变量都有一个默认值。系统变量可以在服务器启动时使用命令行上的选项或选项文件设置。它们可以在运行时使用 SET 语句动态更改,这使您能够修改服务器的操作,而无需停止和重启它。

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

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

  • clone_autotune_concurrency

    命令行格式 --clone-autotune-concurrency
    系统变量 clone_autotune_concurrency
    范围 全局
    动态
    SET_VAR 提示适用
    类型 布尔值
    默认值 ON

    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 兆字节 (MiB)。更大的缓冲区大小可能允许 I/O 设备驱动程序并行获取数据,从而提高克隆性能。

  • clone_block_ddl

    命令行格式 --clone-block-ddl
    系统变量 clone_block_ddl
    范围 全局
    动态
    SET_VAR 提示适用
    类型 布尔值
    默认值 OFF

    在克隆操作期间对捐赠者 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 Server 实例上删除现有数据后,立即指定一个延迟时间。延迟是为了在从捐赠方 MySQL Server 实例克隆数据之前,为接收方主机上的文件系统提供足够的时间来释放空间。某些文件系统(如 VxFS)会异步地在后台进程中释放空间。在这些文件系统上,在删除现有数据后过早地克隆数据会导致克隆操作失败,因为空间不足。最大延迟时间为 3600 秒(1 小时)。默认设置为 0(无延迟)。

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

  • clone_ddl_timeout

    命令行格式 --clone-ddl-timeout
    系统变量 clone_ddl_timeout
    范围 全局
    动态
    SET_VAR 提示适用
    类型 整数
    默认值 300
    最小值 0
    最大值 2592000
    单位

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

    设置为 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 Server 实例上设置。在接收方 MySQL Server 实例上设置它不会产生任何影响。

  • clone_enable_compression

    命令行格式 --clone-enable-compression
    系统变量 clone_enable_compression
    范围 全局
    动态
    SET_VAR 提示适用
    类型 布尔值
    默认值 OFF

    在远程克隆操作期间启用网络层数据压缩。压缩可以节省网络带宽,但会占用 CPU。启用压缩可以提高数据传输速率。此设置仅适用于接收方 MySQL Server 实例。

  • clone_max_concurrency

    命令行格式 --clone-max-concurrency
    系统变量 clone_max_concurrency
    范围 全局
    动态
    SET_VAR 提示适用
    类型 整数
    默认值 16
    最小值 1
    最大值 128
    单位 线程

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

    如果 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 Server 实例。

    最小数据传输速率为每线程每秒 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 Server 实例。

  • 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 Server 实例。在以下格式中允许使用逗号分隔的值列表:“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) 地址格式。不支持 Internet 协议版本 6 (IPv6) 地址格式。可以改用 IPv6 地址的别名。IPv4 地址可以直接使用。