Mysql1040:Too Many Connections解决方案 原因分析
Mysql1040:Too Many Connections解决方案
原因分析
首先,我们要清楚造成这一错误的原因是什么,主要原因不外乎两种:
- 数据库最大连接数设置过小导致多人使用时报错.
- 建立连接后没有及时释放
今天不追究深层原因,具体细节自行百度,这里不做过多赘述,这里只谈解决方法
既然知道了错误是too many connections,那么最简单的方法是什么?
没错,就是把这些连接都杀掉.简单粗暴.开始
kill连接
-
win+r 输入
services.msc
回车,打开服务列表 -
找到mysql服务,查看"可执行文件的路径",也就是你mysql的bin目录
-
进入bin目录下,打开cmd
-
连接数据库.
如果是本地数据库,输入mysql -u root -p
,root是你数据库的用户名.
如果是远端数据库,输入mysql -h110.110.110.110 -u root -p data_base
,110.110.110.110是你远端数据库的ip,root是用户名,data_base是你要连接的数据库名
然后,回车,输入密码. -
查看当前数据库所有连接. 输入
select concat('KILL ',id,';') from information_schema.processlist;
-
把他们复制出来,用notepad替换为如下格式:
kill 97;kill 98;kill 99;kill 100;kill 101;
-
粘贴到命令行中 回车.
-
至此,所有连接全部被kill.
扩展:
查询数据库当前设置的最大连接数:查看mysql数据库连接数、并发数相关信息
show global variables like ‘%max_connections%’;
查看mysql连接数:mysql processlist详细说明
show processlist;
查看sleep退出时间限制:
show variables like “%timeout%”;
**查看自己建立了多少连接: **select concat('KILL ',id,';') from information_schema.processlist where user='root' and db='hbcm_sap' and host like '192.168.37.1%';