文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF(US Ltr) - 39.9Mb
PDF(A4) - 40.0Mb
手册页(TGZ) - 258.5Kb
手册页(Zip) - 365.5Kb
Info(Gzip) - 4.0Mb
Info(Zip) - 4.0Mb


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

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 服务器实例。

    设置为 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 提示适用
    类型 布尔值
    默认值 OFF

    在远程克隆操作期间,在网络层启用数据压缩。压缩可以节省网络带宽,但会占用 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 地址。