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

本文详细解释了Mysql报错Toomanyconnections的原因,包括过多的错误连接和配置限制。提供了解决方案,如临时调整连接等待时间和最大连接数,以及如何在配置文件中永久修改这些设置。
摘要由CSDN通过智能技术生成

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)
  • 查看当前 MySQL 连接情况
SHOW PROCESSLIST; #查看前 100 条连接
SHOW full PROCESSLIST; #查看所有连接
  • 查看当前连接数
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:临时变更连接超时时间(无需重启)
SET GLOBAL interactive_timeout = 60;
SET GLOBAL wait_timeout = 60;
  • 方案2:在配置文件中修改超时时间(需重启 MySQL 生效)
    打开MySQL配置文件,默认位置/etc/mysql/mysql.conf.d/mysqld.cnf,修改对应的参数
[mysqld]
interactive_timeout=60
wait_timeout=60

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

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

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

无法登录Mysql时

可修改配置文件,重启MySQL

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pineux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值