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