当使用 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。