# 18.6.3.2 用于分布式恢复的安全套接字层 (SSL) 连接

重要的

使用 MySQL 通信堆栈时 (group_replication_communication_stack=MYSQL)和成员之间的安全连接(group_replication_ssl_mode未设置为已禁用),本节讨论的安全设置不仅适用于分布式恢复连接,还适用于一般成员之间的组通信。

无论分布式恢复连接是使用标准 SQL 客户端连接还是分布式恢复端点建立的,为了安全地配置连接,您都可以使用 Group Replication 的专用分布式恢复 SSL 选项。这些选项对应于用于组通信连接的服务器 SSL 选项,但它们仅适用于分布式恢复连接。默认情况下,分布式恢复连接不使用 SSL,即使您为组通信连接激活了 SSL,并且服务器 SSL 选项不适用于分布式恢复连接。您必须单独配置这些连接。

如果将远程克隆操作用作分布式恢复的一部分,则组复制会自动配置克隆插件的 SSL 选项以匹配分布式恢复 SSL 选项的设置。(有关克隆插件如何使用 SSL 的详细信息,请参阅为克隆配置加密连接.)

分布式恢复 SSL 选项如下:

  • group_replication_recovery_use_ssl: 调成使 Group Replication 使用 SSL 进行分布式恢复连接,包括远程克隆操作和来自捐赠者二进制日志的状态传输。您可以只设置此选项而不设置其他分布式恢复 SSL 选项,在这种情况下,服务器会自动生成用于连接的证书,并使用默认密码套件。如果要为连接配置证书和密码套件,请使用其他分布式恢复 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:使分布式恢复连接检查捐助者发送的证书中服务器的通用名称值。将此选项设置为等效于设置的分布式恢复连接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 时(如果不设置系统变量,这是默认设置),默认启用的密码套件是允许的,如所列第 6.3.2 节,“加密连接 TLS 协议和密码”.如果此系统变量设置为空字符串,则不允许使用任何密码套件,因此不使用 TLSv1.3。此系统变量从 MySQL 8.0.19 开始可用。