本节介绍如何配置 X 插件以使用加密连接。有关更多背景信息,请参阅 第 6.3 节 “使用加密连接”。
为了启用对加密连接的配置支持,X Plugin 具有系统变量,它可以具有与 MySQL 服务器使用
的系统变量不同的值
。例如,X Plugin 可以具有 SSL 密钥、证书和证书授权文件,这些文件与用于 MySQL 服务器的文件不同。这些变量在
第 20.5.6.2 节“X 插件选项和系统变量”中进行了描述。同样,X Plugin 有自己的
状态变量,对应于 MySQL 服务器加密连接
状态变量。请参阅第 20.5.6.3 节,“X 插件状态变量”。
mysqlx_ssl_
xxx
ssl_
xxx
Mysqlx_ssl_
xxx
Ssl_
xxx
在初始化时,X Plugin 确定其加密连接的 TLS 上下文,如下所示:
如果所有 的系统变量都有默认值,X Plugin使用与MySQL Server主连接接口相同的TLS上下文,由 系统变量的值决定。
mysqlx_ssl_
xxx
ssl_
xxx
如果任何 变量具有非默认值,X 插件将使用由其自身系统变量的值定义的 TLS 上下文。(如果任何 系统变量设置为与其默认值不同的值,就会出现这种情况。)
mysqlx_ssl_
xxx
mysqlx_ssl_
xxx
这意味着,在启用了 X 插件的服务器上,您可以通过仅设置变量来选择让 MySQL 协议和 X 协议连接共享相同的加密配置
,或者通过配置和
为 MySQL 协议和 X 协议连接设置单独的加密配置
变量分开。
ssl_
xxx
ssl_
xxx
mysqlx_ssl_
xxx
要让 MySQL 协议和 X 协议连接使用相同的加密配置,请仅设置
系统变量:
ssl_
xxx
my.cnf
[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
要为 MySQL 协议和 X 协议连接单独配置加密,请在 中设置
和
系统变量:
ssl_
xxx
mysqlx_ssl_
xxx
my.cnf
[mysqld]
ssl_ca=ca1.pem
ssl_cert=server-cert1.pem
ssl_key=server-key1.pem
mysqlx_ssl_ca=ca2.pem
mysqlx_ssl_cert=server-cert2.pem
mysqlx_ssl_key=server-key2.pem
有关配置连接加密支持的一般信息,请参阅第 6.3.1 节,“配置 MySQL 以使用加密连接”。该讨论是为 MySQL 服务器编写的,但 X 插件的参数名称相似。(X Plugin
系统变量名称对应于 MySQL Server
系统变量名称。)
mysqlx_ssl_
xxx
ssl_
xxx
确定 MySQL 协议连接允许的 TLS 版本的tls_version
系统变量也适用于 X 协议连接。因此,两种连接类型允许的 TLS 版本是相同的。
每个连接的加密是可选的,但是通过在创建用户的语句中
包含适当的REQUIRE
子句,可以要求特定用户对 X 协议和 MySQL 协议连接使用加密。CREATE USER
有关详细信息,请参阅
第 13.7.1.3 节,“CREATE USER 语句”。或者,要要求所有用户对 X 协议和 MySQL 协议连接使用加密,请启用
require_secure_transport
系统变量。有关其他信息,请参阅将
加密连接配置为强制性。