当前位置:   article > 正文

Mysql 报错`Too many connections`原因及解决办法_mysql too many connections

mysql too many connections

Mysql 报错Too many connections原因及解决办法

Mysql 1040 Too many connections连接不上原因

  • 根本原因

连接数超过了Mysql配置最大连接数,所以拒绝新的连接

  • 可能造成连接数过大原因

错误连接太多,而等待时间有过长。导致很多错误连接未关闭。

  • 查看当前配置的最大连接数
mysql> show variables like '%max_connections%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| max_connections        | 151   |
| mysqlx_max_connections | 100   |
+------------------------+-------+
2 rows in set (0.01 sec)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 查看当前 MySQL 连接情况
SHOW PROCESSLIST; #查看前 100 条连接
SHOW full PROCESSLIST; #查看所有连接
  • 1
  • 2
  • 查看当前连接数
mysql> show status like  'Threads%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_cached    | 0     |
| Threads_connected | 114   |
| Threads_created   | 286   |
| Threads_running   | 2     |
+-------------------+-------+
4 rows in set (0.01 sec)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

解决方案

修改连接等待时间(推荐)

  • 方案1:临时变更连接超时时间(无需重启)
SET GLOBAL interactive_timeout = 60;
SET GLOBAL wait_timeout = 60;
  • 1
  • 2
  • 方案2:在配置文件中修改超时时间(需重启 MySQL 生效)
    打开MySQL配置文件,默认位置/etc/mysql/mysql.conf.d/mysqld.cnf,修改对应的参数
[mysqld]
interactive_timeout=60
wait_timeout=60
  • 1
  • 2
  • 3

增大最大连接数(不推荐)

  • 方案1:临时调整最大连接数(无需重启)
set GLOBAL max_connections = 300;
  • 1
  • 方案2:修改配置文件最大连接数
    打开MySQL配置文件,默认位置/etc/mysql/mysql.conf.d/mysqld.cnf
    修改max_connections的值

tips:
临时变更配置的方法,在重启 MySQL 后会恢复配置文件中的设置值

无法登录Mysql时

可修改配置文件,重启MySQL

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/337125
推荐阅读
相关标签
  

闽ICP备14008679号