Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Using Encrypted Connections with X Plugin

22.5.3 使用 X 插件加密连接

本节解释了如何使用 X 插件配置加密连接。有关背景信息,请见第8.3节,“使用加密连接”

要启用配置加密连接的支持,X 插件具有mysqlx_ssl_xxx系统变量,可以具有与 MySQL 服务器的ssl_xxx系统变量不同的值。例如,X 插件可以具有与 MySQL 服务器不同的 SSL 密钥、证书和证书颁发机构文件。这些变量在第22.5.6.2节,“X 插件选项和系统变量”中有描述。类似地,X 插件具有自己的Mysqlx_ssl_xxx状态变量,这些变量对应于 MySQL 服务器加密连接的Ssl_xxx状态变量。请见第22.5.6.3节,“X 插件状态变量”

在初始化时,X 插件确定其 TLS 上下文以加密连接为 follows:

  • 如果所有mysqlx_ssl_xxx系统变量都具有默认值,X 插件使用与 MySQL 服务器主连接界面相同的 TLS 上下文,该上下文由ssl_xxx系统变量的值确定。

  • 如果任何mysqlx_ssl_xxx变量具有非默认值,X 插件使用其自己的系统变量定义的 TLS 上下文。(这是在任何mysqlx_ssl_xxx系统变量设置为与其默认值不同的值时的情况。)

这意味着,在启用 X 插件的服务器上,您可以选择将 MySQL 协议和 X 协议连接共享相同的加密配置,只需设置ssl_xxx变量,也可以将 MySQL 协议和 X 协议连接使用不同的加密配置,通过配置ssl_xxxmysqlx_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_xxxmysqlx_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_xxx系统变量名称对应于MySQL Server的ssl_xxx系统变量名称。)

tls_version系统变量确定MySQL协议连接和X协议连接允许的TLS版本。因此,两种连接类型的允许TLS版本相同。

连接加密是可选的,但可以在创建用户时,通过在CREATE USER语句中包含适当的REQUIRE子句,要求特定用户使用加密连接。详细信息请见第15.7.1.3节,“CREATE USER Statement”。Alternatively,可以启用require_secure_transport系统变量,要求所有用户使用加密连接。详细信息请见配置加密连接为强制