admin_address: 用于指定管理员发起tcp连接的主机地址,可以是ipv4,ipv6, 或者Host name等等,但只能接受一个ip地址
admin_port: 是管理员用来连接的端口号,注意如果admin_address没有设置的话,这个端口号是无效的
create_admin_listener_thread: 是否创建一个单独的listener线程来监听admin的链接请求,默认值是关闭的,即会使用已有的监听线程去监听admin连接。该参数同样需要admin_address打开, 否则没有任何影响
注意必须要有权限service_connection_admin才能登陆该端口,否则会报错
admin port的连接个数不受max_connection或者Max_user_connection的限制。
mysql> show variables like 'admin%'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | admin_address | | | admin_port | 33062 | +---------------+-------+ 2 rows in set (0.02 sec) mysql> set global admin_address='localhost'; ERROR 1238 (HY000): Variable 'admin_address' is a read only variable
没有设置admin_address,连接33062端口链接不上。
scutech@scutech:~$ mysql --port 33602 --protocol tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111) scutech@scutech:~$
在配置文件里面加入这个参数:
admin_address='localhost'
日志里面有记录:
2020-06-15T06:09:20.937216Z 0 [System] [MY-013292] [Server] Admin interface ready for connections, address: 'localhost' port: 33062 root@scutech:~# lsof -i TCP:33062 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 16389 mysql 35u IPv4 17415495 0t0 TCP localhost:33062 (LISTEN)
连接33062的端口进入
scutech@scutech:~$ mysql --port 33062 --protocol tcp Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 29 Server version: 8.0.19 MySQL Community Server - GPL