所连接卷管理,以允许执行管理操作的需要,即使在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
系统变量允许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——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=capem - 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-capem - ssl-cert = admin-client-cert。pem - ssl密钥= admin-client-key.pem