如 连接卷管理中所述,为了即使在max_connections 用于普通连接的接口上已经建立连接时也需要执行管理操作,MySQL服务器允许对具有CONNECTION_ADMIN特权(或不赞成使用的SUPER特权)的用户进行单个管理连接 。
另外,从MySQL 8.0.14开始,服务器允许将TCP / IP端口专用于管理连接,如以下各节所述。
管理界面特征
管理接口对加密连接的支持
管理界面特征
管理连接接口具有以下特征:
只有admin_address在启动时设置系统变量以指示其IP地址时,服务器才会启用该接口 。如果admin_address未设置,则服务器不维护任何管理界面。
所述admin_port系统变量指定的接口的TCP / IP端口号(默认33062)。
管理连接的数量没有限制。
只有具有SERVICE_CONNECTION_ADMIN 特权的用户才能连接 。
使用 create_admin_listener_thread 系统变量,DBA可以在启动时选择管理接口是否具有其自己的单独线程。默认值为OFF; 也就是说,主接口上用于普通连接的管理器线程也处理管理接口的连接。
服务器my.cnf文件中的这些行启用回送接口上的管理接口,并将其配置为使用端口号33064(即,与默认端口不同的端口):
[mysqld]
admin_address=127.0.0.1
admin_port=33064
MySQL客户端程序通过指定适当的连接参数连接到主界面或管理界面。如果在本地主机上运行的服务器对主接口和管理接口使用默认的TCP / IP端口号3306和33062,则这些命令将连接到这些接口:
mysql --protocol=TCP --port=3306
mysql --protocol=TCP --port=33062
管理接口对加密连接的支持
在MySQL 8.0.21之前,管理接口使用适用于主接口的连接加密配置来支持加密连接。从MySQL 8.0.21开始,管理接口具有其自己的用于加密连接的配置参数。这些与主要接口参数相对应,但是为管理接口启用加密连接的独立配置:
该–admin-ssl选项类似于该–ssl选项,但是它启用或禁用管理界面而不是主界面的加密连接。
该 和 系统变量是喜欢 和 系统变量,但他们配置管理界面,而不是在主界面的背景TLS。 admin_tls_xxxadmin_ssl_xxxtls_xxxssl_xxx
有关配置连接加密支持的一般信息,请参见 第6.3.1节“配置MySQL以使用加密连接”。该讨论是针对主连接接口编写的,但是参数名称与管理连接接口相似。以下备注提供了特定于管理界面的信息。
管理界面的TLS配置遵循以下规则:
如果–admin-ssl启用(默认),则管理界面支持加密连接。对于接口上的连接,适用的TLS上下文取决于是否配置了任何非默认的管理TLS参数:
如果所有管理TLS参数都有其默认值,则管理接口使用与主接口相同的TLS上下文。
如果任何管理TLS参数具有非默认值,则管理接口将使用由其自己的参数定义的TLS上下文。(如果将任何一个 或 系统变量设置为与其默认值不同的值,就是这种情况。)如果无法通过这些参数创建有效的TLS上下文,则管理接口将退回到主接口TLS上下文。 admin_tls_xxxadmin_ssl_xxx
如果–admin-ssl禁用,将禁用到管理界面的加密连接。(即使管理TLS参数具有非默认值,也是如此,因为禁用 --admin-ssl优先。)
例子:
服务器my.cnf文件中的此配置 启用管理界面,但未设置特定于该界面的任何TLS参数:
[mysqld]
admin_address=127.0.0.1
结果,管理接口支持加密的连接(因为在启用管理接口时默认支持加密),但是使用主接口TLS上下文。客户端连接到管理界面时,应使用与主界面上普通连接相同的证书和密钥文件。例如(单行输入命令):
mysql --protocol=TCP --port=33062
–ssl-ca=ca.pem
–ssl-cert=client-cert.pem
–ssl-key=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-key=admin-client-key.pem
此服务器配置启用管理接口,但禁用管理接口的加密连接:
[mysqld]
admin-ssl=OFF
admin_address=127.0.0.1
在这种情况下,如果配置还设置了管理TLS参数(例如) admin_ssl_ca,则这些参数设置将无效,因为 admin-ssl=OFF优先。




