1040: Too many connections(连接过多)
MySQL含义
服务器已达到 max_connections 允许的最大并发连接数;新连接被拒绝。
原因
连接池大小不当、连接泄漏、大量短生命周期连接、长时间处于休眠(Sleep)的连接,或 max_connections 值相对工作负载过低。
解决方法
检查连接:SHOW PROCESSLIST 或 SELECT * FROM performance_schema.processlist。用 KILL 关闭不必要的休眠连接。增大 max_connections:SET GLOBAL max_connections = 500(写入 my.cnf 以持久化)。根本解决办法是使用连接池,并用 wait_timeout 关闭空闲连接。系统会为 SUPER/CONNECTION_ADMIN 额外保留一个紧急管理连接。
同一数据库的其他条目
- 1062Duplicate entry for key(键的重复条目)
- 1213Deadlock found when trying to get lock; try restarting transaction(尝试获取锁时发现死锁;请尝试重新开始事务)
- 1205Lock wait timeout exceeded; try restarting transaction(超出锁等待超时;请尝试重新开始事务)
- 1064You have an error in your SQL syntax(SQL 语法错误)
- 1146Table doesn't exist(表不存在)
- 1054Unknown column in field list(字段列表中存在未知列)
- 2002Can't connect to local MySQL server through socket(无法通过 socket 连接到本地 MySQL 服务器)