22.5.3 使用 X 插件加密连接
本节解释了如何使用 X 插件配置加密连接。有关背景信息,请见第8.3节,“使用加密连接”。
要启用配置加密连接的支持,X 插件具有mysqlx_ssl_
系统变量,可以具有与 MySQL 服务器的xxx
ssl_
系统变量不同的值。例如,X 插件可以具有与 MySQL 服务器不同的 SSL 密钥、证书和证书颁发机构文件。这些变量在第22.5.6.2节,“X 插件选项和系统变量”中有描述。类似地,X 插件具有自己的xxx
Mysqlx_ssl_
状态变量,这些变量对应于 MySQL 服务器加密连接的xxx
Ssl_
状态变量。请见第22.5.6.3节,“X 插件状态变量”。xxx
在初始化时,X 插件确定其 TLS 上下文以加密连接为 follows:
-
如果所有
mysqlx_ssl_
系统变量都具有默认值,X 插件使用与 MySQL 服务器主连接界面相同的 TLS 上下文,该上下文由xxx
ssl_
系统变量的值确定。xxx
-
如果任何
mysqlx_ssl_
变量具有非默认值,X 插件使用其自己的系统变量定义的 TLS 上下文。(这是在任何xxx
mysqlx_ssl_
系统变量设置为与其默认值不同的值时的情况。)xxx
这意味着,在启用 X 插件的服务器上,您可以选择将 MySQL 协议和 X 协议连接共享相同的加密配置,只需设置ssl_
变量,也可以将 MySQL 协议和 X 协议连接使用不同的加密配置,通过配置xxx
ssl_
和xxx
mysqlx_ssl_
变量。xxx
要使 MySQL 协议和 X 协议连接使用相同的加密配置,请在my.cnf
中设置ssl_
系统变量:xxx
[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
要配置 MySQL 协议和 X 协议连接的加密配置,请在my.cnf
中设置ssl_
和xxx
mysqlx_ssl_
系统变量:xxx
[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
关于配置连接加密支持的总体信息,请见第8.3.1节,“使用加密连接”。该讨论是为MySQL Server写的,但参数名称类似于X Plugin。 (X Plugin的mysqlx_ssl_
系统变量名称对应于MySQL Server的xxx
ssl_
系统变量名称。)xxx
tls_version
系统变量确定MySQL协议连接和X协议连接允许的TLS版本。因此,两种连接类型的允许TLS版本相同。
连接加密是可选的,但可以在创建用户时,通过在CREATE USER
语句中包含适当的REQUIRE
子句,要求特定用户使用加密连接。详细信息请见第15.7.1.3节,“CREATE USER Statement”。Alternatively,可以启用require_secure_transport
系统变量,要求所有用户使用加密连接。详细信息请见配置加密连接为强制。