错误信息
ERROR 1040 (HY000): Too many connections
错误复现
先将全局参数设置成1,在session中发起新链接后,就会爆出错误。
mysql> set global max_connections=1;
mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1 |
+-----------------+-------+
1 row in set (0.01 sec)
mysql> system mysql -hxxx -Pxxx -uroot -pxxx;
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 57670
Server version: 5.6.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, 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> system mysql -hxxx -Pxxx -uxxx -pxxx;
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1040 (HY000): Too many connections
mysql> show processlist;
+-------+------+------------------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-------+------+------------------+------+---------+------+-------+------------------+
| 57667 | root | 172.17.0.1:40850 | NULL | Sleep | 56 | | NULL |
| 57670 | root | 172.17.0.1:42398 | NULL | Query | 0 | init | show processlist |
+-------+------+------------------+------+---------+------+-------+------------------+
2 rows in set (0.10 sec)
解决方法
- 释放掉空闲的链接(略)。
- 调整参数 max_connections 的大小,适当调大。
mysql> set global max_connections=151;
Query OK, 0 rows affected (0.00 sec)