当使用 MySQL 通信堆栈(group_replication_communication_stack=MYSQL
)和成员之间的安全连接(group_replication_ssl_mode
未设置为DISABLED
)时,本节中讨论的安全设置不仅适用于分布式恢复连接,而且适用于一般成员之间的组通信。请参阅
第 18.6.1 节,“用于连接安全管理的通信堆栈”。
无论分布式恢复连接是使用标准 SQL 客户端连接还是分布式恢复端点建立,要安全地配置连接,您都可以使用 Group Replication 的专用分布式恢复 SSL 选项。这些选项对应于用于组通信连接的服务器 SSL 选项,但它们仅适用于分布式恢复连接。默认情况下,分布式恢复连接不使用 SSL,即使您为组通信连接激活了 SSL,并且服务器 SSL 选项不适用于分布式恢复连接。您必须单独配置这些连接。
如果远程克隆操作用作分布式恢复的一部分,组复制会自动配置克隆插件的 SSL 选项以匹配您对分布式恢复 SSL 选项的设置。(有关克隆插件如何使用 SSL 的详细信息,请参阅为克隆配置加密连接。)
分布式恢复 SSL 选项如下:
group_replication_recovery_use_ssl
:设置为ON
使组复制使用 SSL 进行分布式恢复连接,包括远程克隆操作和来自捐赠者二进制日志的状态传输。您可以只设置此选项而不设置任何其他分布式恢复 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 支持哪些加密密码的信息,请参阅 第 6.3.2 节,“加密连接 TLS 协议和密码”。group_replication_recovery_tls_version
:当此服务器实例是分布式恢复连接中的客户端(即加入成员)时,用于连接加密的一个或多个允许的 TLS 协议的逗号分隔列表。此系统变量的默认值取决于 MySQL 服务器版本中支持的 TLS 协议版本。作为客户端(加入成员)和服务器(捐赠者)参与每个分布式恢复连接的组成员协商它们都设置为支持的最高协议版本。此系统变量可从 MySQL 8.0.19 获得。group_replication_recovery_tls_ciphersuites
:当TLSv1.3用于分布式恢复连接的连接加密时,一个或多个允许的密码组的冒号分隔列表,并且此服务器实例是分布式恢复连接中的客户端,即加入成员。如果在使用 TLSv1.3 时将此系统变量设置为NULL
(如果未设置系统变量,则为默认设置),则允许默认启用的密码套件,如 第 6.3.2 节“加密连接 TLS”中所列协议和密码”. 如果此系统变量设置为空字符串,则不允许使用密码套件,因此不使用 TLSv1.3。此系统变量从 MySQL 8.0.19 开始可用。