使用 MySQL 通信栈 (group_replication_communication_stack=MYSQL
) AND 安全连接成员之间 (group_replication_ssl_mode
未设置为 DISABLED
),本节讨论的安全设置不仅适用于分布式恢复连接,还适用于成员之间的组通信。请参阅 第 20.6.1 节,“通信栈用于连接安全管理”。
无论分布式恢复连接是使用标准 SQL 客户端连接还是分布式恢复端点,要配置连接安全,可以使用 Group Replication 的专用分布式恢复 SSL 选项。这些选项对应于服务器 SSL 选项,用于组通信连接,但它们仅适用于分布式恢复连接。默认情况下,分布式恢复连接不使用 SSL,即使您激活了组通信连接的 SSL,服务器 SSL 选项也不会应用于分布式恢复连接。您必须单独配置这些连接。
如果远程克隆操作作为分布式恢复的一部分,Group Replication 会自动配置克隆插件的 SSL 选项,以匹配您的分布式恢复 SSL 选项设置。(有关克隆插件如何使用 SSL 的详细信息,请参阅 配置克隆的加密连接。)
分布式恢复 SSL 选项如下:
-
group_replication_recovery_use_ssl
:设置为ON
,使 Group Replication 使用 SSL 进行分布式恢复连接,包括远程克隆操作和从捐赠者的二进制日志中传输状态。如果您只设置了这个选项,服务器将自动生成证书以用于连接,并使用默认的密码套件。如果您想配置连接的证书和密码套件,可以使用其他分布式恢复 SSL 选项来实现。 -
group_replication_recovery_ssl_ca
:用于分布式恢复连接的证书颁发机构(CA)文件的路径名。Group Replication 会自动配置克隆 SSL 选项clone_ssl_ca
以匹配这个。group_replication_recovery_ssl_capath
:包含受信任的 SSL 证书颁发机构(CA)证书文件的目录路径名。 -
group_replication_recovery_ssl_cert
:用于分布式恢复连接的 SSL 公共密钥证书文件的路径名。Group Replication 会自动配置克隆 SSL 选项clone_ssl_cert
以匹配这个。 -
group_replication_recovery_ssl_key
:用于分布式恢复连接的 SSL 私钥文件的路径名。Group Replication 会自动配置克隆 SSL 选项clone_ssl_cert
以匹配这个。 -
group_replication_recovery_ssl_verify_server_cert
:使分布式恢复连接检查服务器的公共名称值在捐赠者发送的证书中。将这个选项设置为ON
等同于将VERIFY_IDENTITY
设置为组通信连接的group_replication_ssl_mode
选项。 -
group_replication_recovery_ssl_crl
:包含证书撤销列表文件的路径名。 -
group_replication_recovery_ssl_crlpath
: 证书撤销列表目录的路径名称。 -
group_replication_recovery_ssl_cipher
: 分布式恢复连接的连接加密允许的密码列表。指定一个或多个密码名称,以冒号分隔。有关 MySQL 支持的加密密码的信息,请参阅 第 8.3.2 节,“加密连接 TLS 协议和密码”。 -
group_replication_recovery_tls_version
: 当该服务器实例作为分布式恢复连接的客户端(加入成员)时,连接加密允许的 TLS 协议版本列表,以逗号分隔。该系统变量的默认值取决于 MySQL Server 版本支持的 TLS 协议版本。参与分布式恢复连接的组成员作为客户端(加入成员)和服务器(捐赠者)将协商最高的协议版本,以便它们都支持。 -
group_replication_recovery_tls_ciphersuites
: 当使用 TLSv1.3 进行连接加密时,分布式恢复连接的允许密码套件列表,以冒号分隔。当该服务器实例作为分布式恢复连接的客户端(加入成员)时,如果该系统变量设置为NULL
,则允许默认启用的密码套件,如 第 8.3.2 节,“加密连接 TLS 协议和密码” 所列。如果该系统变量设置为空字符串,则不允许任何密码套件,因此不使用 TLSv1.3。该系统变量从 MySQL 8.0.19 开始可用。