所连接卷管理,以允许执行管理操作的需要,即使在max_connections
连接已经建立在用于普通连接的接口上,MySQL服务器允许对拥有CONNECTION_ADMIN
特权(或已弃用的超级
特权)。
此外,从MySQL 8.0.14开始,服务器允许为管理连接专用一个TCP/IP端口,如下面的小节所述。
管理连接接口具有以下特征:
服务器只有在
admin_address
system变量在启动时设置,以指示它的IP地址。如果admin_address
,则服务器不维护管理接口。的
admin_port
system变量指定接口TCP/IP端口号(默认为33062)。管理连接的数量没有限制,但是仅允许具有
SERVICE_CONNECTION_ADMIN
特权。的
create_admin_listener_thread
system变量使dba能够在启动时选择管理界面是否有自己的独立线程。默认值是从
;也就是说,主界面上用于普通连接的管理线程也处理管理界面的连接。
这些行在服务器中my.cnf
文件启用loopback接口的管理接口,并配置其端口号为33064(即非默认端口号):
(mysqld) admin_address = 127.0.0.1 admin_port = 33064
MySQL客户端程序通过指定适当的连接参数连接到主界面或管理界面。如果运行在本地主机上的服务器使用默认的TCP/IP端口号3306和33062作为主接口和管理接口,这些命令连接到这些接口:
mysql——protocol=TCP——port=33062
在MySQL 8.0.21之前,管理界面使用应用于主界面的连接加密配置支持加密连接。从MySQL 8.0.21开始,管理界面有自己的加密连接配置参数。它们对应于主接口参数,但启用管理接口的加密连接的独立配置:
的
admin_tls_
而且xxx
admin_ssl_
系统变量就像xxx
tls_
而且xxx
ssl_
但是它们为管理接口而不是主接口配置TLS上下文。xxx
的
——admin-ssl
选项就像——ssl
选项,但它启用或禁用在管理界面而不是主界面上对加密连接的支持。因为默认情况下启用了对加密连接的支持,所以通常不需要指定
——admin-ssl
.从MySQL 8.0.26开始,——admin-ssl
已被弃用,并将在未来的MySQL版本中删除。
有关配置连接加密支持的一般信息,请参见第6.3.1节“配置MySQL使用加密连接”,第6.3.2节“加密连接TLS协议和密码”.该讨论是针对主连接接口编写的,但管理连接接口的参数名称是类似的。将该讨论与以下注释一起使用,这些注释提供了特定于管理界面的信息。
管理接口的TLS配置遵循以下规则:
如果
——admin-ssl
启用(默认值),则管理接口支持加密连接。对于接口上的连接,适用的TLS上下文取决于是否配置了任何非默认的管理TLS参数:如果所有管理TLS参数均为缺省值,则管理接口使用与主接口相同的TLS上下文。
如果任何管理TLS参数具有非默认值,则管理接口使用由其自己的参数定义的TLS上下文。(如果有的话就是这样
admin_tls_
或xxx
admin_ssl_
系统变量被设置为与默认值不同的值。)如果不能从这些参数创建有效的TLS上下文,则管理接口退回到主接口TLS上下文。xxx
如果
——admin-ssl
禁用(例如,通过指定——admin-ssl =了
时,禁用到管理接口的加密连接。即使由于禁用,管理TLS参数具有非默认值,也是如此——admin-ssl
优先。也可以在不指定的情况下禁用管理界面上的加密连接
——admin-ssl
否定形式。设置admin_tls_version
系统变量设置为空值,表示不支持TLS版本。例如,服务器中的这些行my.cnf
在管理界面上禁用加密连接:(mysqld) admin_tls_version = "
例子:
此配置在服务器中
my.cnf
file启用管理接口,但不设置任何特定于该接口的TLS参数:(mysqld) admin_address = 127.0.0.1
因此,管理接口支持加密连接(因为在启用管理接口时默认支持加密),并使用主接口TLS上下文。当客户端连接到管理界面时,它们应该使用与主界面上普通连接相同的证书和密钥文件。例如(在单行中输入命令):
mysql——protocol=TCP——port=33062——ssl-ca=ca。pem - ssl-cert = client-cert。pem - ssl密钥= client-key.pem
此服务器配置启用管理接口,并设置特定于该接口的TLS证书和密钥文件参数:
(mysqld) admin_address = 127.0.0.1 admin_ssl_ca = admin-ca。pem admin_ssl_cert = admin-server-cert。pem admin_ssl_key = admin-server-key.pem
因此,管理接口使用自己的TLS上下文支持加密连接。当客户端连接到管理接口时,它们应该使用特定于该接口的证书和密钥文件。例如(在单行中输入命令):
mysql——protocol=TCP——port=33062——ssl-ca=admin-ca。pem - ssl-cert = admin-client-cert。pem - ssl密钥= admin-client-key.pem