简介

用过MySQL数据库朋友一定对“ERROR 1040 (HY000): Too many connections”,这个报错不陌生,出现这个报错的原因有两种情况,一种是单个用户的连接数超过“max_user_connections”参数定义值,另外一种情况是,所有应用的连接数超过“max_connections”参数定义值。
如果是第二种情况,MySQL数据库还提供一个额外连接,这个连接只有super角色的用户能登录,例如root用户,使用root用户登录数据库之后,就可以进行故障定位。但是如果由于管理不规范,应用程序使用了super角色用户连接数据,当出现“ERROR 1040 (HY000): Too many connections”报错之后,大家想想,会发生什么,这个时候DBA使用root用户都登录数据库,就很难做故障定位了,去解决连接不足的问题。

MySQL8新增管理端口

在MySQL8以前的版本,由于应用用户和管理用户共同使用同一个端口服务,没有进行隔离,如果使用不规范时,很容易造成DBA无法用root用户连接数据库,进行故障定位。
到MySQL8的版本,MySQL官方考虑到这个问题,于是就给数据库管理人员独立起了一个管理端口服务,这样应用用户和管理用户访问的端口进行隔离,互不影响。

MySQL8管理端口启用

要启用MySQL8管理端口,只需要在my.cnf配置文件中添加3个参数

admin_address=127.0.0.1
admin_port=33306
create_admin_listener_thread=1mysql> show variables like '%admin%';
+---------------------------------+-------------------------------+
| Variable_name                   | Value                         |
+---------------------------------+-------------------------------+
| admin_address                   | 127.0.0.1                     |
| admin_port                      | 33306                         |
| admin_ssl_ca                    |                               |
| admin_ssl_capath                |                               |
| admin_ssl_cert                  |                               |
| admin_ssl_cipher                |                               |
| admin_ssl_crl                   |                               |
| admin_ssl_crlpath               |                               |
| admin_ssl_key                   |                               |
| admin_tls_ciphersuites          |                               |
| admin_tls_version               | TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 |
| create_admin_listener_thread    | ON                            |
| log_slow_admin_statements       | OFF                           |
| persist_only_admin_x509_subject |                               |
+---------------------------------+-------------------------------+
14 rows in set (0.01 sec)

下面就来测试一下,当报"ERROR 1040 (HY000): Too many connections"错误之后,DBA是否还能使用管理端口连接数据库
1.模拟会话总数已经达到max_connections参数定义阀值

mysql> show variables like '%connections%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| max_connections        | 3     |
| max_user_connections   | 2     |
| mysqlx_max_connections | 100   |
+------------------------+-------+
3 rows in set (0.01 sec)mysql> show global status like 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 3     |
+-------------------+-------+
1 row in set (0.01 sec)

2.使用MySQL数据库额外提供的端口,root连接数据库

root@19dd973af376:~# mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 32
Server version: 8.0.21 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show global status like 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 4     |
+-------------------+-------+
1 row in set (0.01 sec)

此时,root用户已经使用了MySQL数据库的额外连接,如果再使用root用户连接数据,就会报错了

root@19dd973af376:~# mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1040 (HY000): Too many connections

3.使用管理端口连接数据库

root@19dd973af376:~# mysql -uroot -proot -P 33306 -h127.0.0.1
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 33
Server version: 8.0.21 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show global status like 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 5     |
+-------------------+-------+
1 row in set (0.03 sec)

可以看到root用户还可以通过管理端口33306进行登录了,当前的连接数总数也到了5个,超过了max_connections定义的3个。

https://mp.weixin.qq.com/s/KLBwzlt4DS_rMXKKvGd5aQ

MySQL8新增管理端口相关推荐

  1. mysql 管理端口_MySQL8新增管理端口

    简介 用过MySQL数据库朋友一定对"ERROR 1040 (HY000): Too many connections",这个报错不陌生,出现这个报错的原因有两种情况,一种是单个用 ...

  2. mysql8.0创建属性,MySQL 8.0新特性 — 管理端口的使用简介

    前言 下面这个报错,相信大多数童鞋都遇见过:那么碰到这个问题,我们应该怎么办呢?在MySQL 5.7及之前版本,出现"too many connection"报错,超级用户root ...

  3. 管理端口_内网渗透 | 红蓝对抗:Windows利用WinRM实现端口复用打造隐蔽后门

    目录 WinRM端口复用原理 端口复用配置 新增80端口监听 修改WinRM默认监听的端口 远程连接WinRM WinRM端口复用原理 该端口复用的原理是使用Windows的远程管理服务WinRM,结 ...

  4. mycat mysql端口多少_mycat 9066管理端口 常用命令

    1.连接mycat 9066管理端口 命令:mysql -uroot -proot -P9066 -h127.0.0.1 -u:用户名 -p:密码 -P:端口 -h:ip地址例:linux路径切换到m ...

  5. RPC(管理端口的服务)NFS软件 NFS配置文件 简单介绍

    目录: 1什么是RPC(管理端口的服务) 2 NFS软件 3 NFS配置文件 1什么是RPC(管理端口的服务) 因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用 ...

  6. winbox管理端口多少?

     winbox管理端口多少? Winbox 是基于Windows下远程管理 ROS的软件,提供直观方便的图形界面. (winbox管理端口见文章底部) Winbox能登陆路由器,路由器是软路由ROUT ...

  7. ilo4服务器远程,HP服务器ilo远程管理端口设置

    iLO是高级别的远程KVM系统,可以将服务器的显示信息显示在本地,并且使用本地的键盘鼠标控制.操作服务器,并可以将本地的光盘镜像.文件夹作为虚拟光驱映射并加载到服务器中.使用iLO,可以完成低层的BI ...

  8. P710管理端口恢复出厂设置

    P710管理端口恢复出厂设置 环境:P710需要重做系统,以前使用HMC管理主机,搬迁后,无HMC管理机,重做系统需要串口输出. 1. P710HMC默认IP为HMC1:169.254.2.147 H ...

  9. 【宝塔面板建站】02. 实用必装的插件之Windows工具箱 2.0,可视化管理端口,host管理(保姆级图文)

    目录 安装Windows工具箱 2.0 Windows工具箱 2.0使用 总结 『宝塔面板建站』分享宝塔面板从安装到实战的宝塔面板本机免云服务器免域名搭建网站等内容. 欢迎关注 『宝塔面板建站』 系列 ...

最新文章

  1. 傅盛:AI是企业弯道超车的机会,大家在同一起跑线上
  2. 【winform程序】自定义webrowser控件调用IE的版本
  3. TDD 与 BDD 仅仅是语言描述上的区别么?
  4. java s字符_java 字符集s
  5. Unity 3D 2019.3.12版本创建一个按钮,并为该按钮添加点击Click的消息响应函数以及点击按钮切换场景
  6. 每周分享第8期(2019.5.25)
  7. NOKIA Update for Windows Phone
  8. python热力图背景_python 绘制场景热力图的示例
  9. JavaScript设计模式——单例模式的理解与应用
  10. matplotlib的颜色及线条控制
  11. TensorFlow语义分割套件开源了ECCV18旷视科技BiSeNet实时分割算法
  12. Keras-10 模型可视化
  13. 数据类型转换(面试题)
  14. Nonebot部署机器人常见问题
  15. w ndows平板,Win8.1千元芯平板 昂达V975w四核评测
  16. vi vim 字符串替换
  17. python can通信_Python中的高级/抽象Canbus接口
  18. docker的一些使用技巧
  19. 全面讲解光纤、光模块、光纤交换机、光模块组网设计与案例
  20. 《Unity Shader入门精要》彩图版免费分享~~~~~

热门文章

  1. pythonassert关键字_Python assert 关键字
  2. 如何高效使用和管理Bitmap--图片缓存管理模块的设计与实现
  3. poj 3017 Cut the Sequence(DP+单调队列)
  4. android 安全的未来(I)
  5. Android仿人人客户端(v5.7.1)——通过HTTPS协议的POST方式获取用户的基本信息
  6. 什么原数据更容易平稳_为什么老年人更容易患上艾滋病?
  7. python利用什么写模块_python模块是什么?写法及作用分析
  8. Fastjson 1.2.22-24 反序列化漏洞分析
  9. HTTPS客户端的java实现
  10. boolan 设计模式笔记