出现的问题
MySQL突然出现“too many connections”
的提示
用到的指令
查看当前数据库的连接情况
# 最多显示100条记录
shop processlist;
# 显示所有
show full processlist;
查看所有用户的总连接数
show variables like '%max_connections%';
查看每一个用户的最大连接数
show variables like '%max_user_connections%';
查看当前连接中各个用户的连接数
select USER , count(*) from information_schema.processlist group by USER;
查看当前连接中各个IP的连接数
select SUBSTRING_INDEX(host,':',1) as ip,count(*) from information_schema.processlist group by ip;
查看当前连接中连接时间最长的的连接
select host,user,time,state,info from information_schema.processlist order by time desc limit 10;
查询线上Mysql数据库的连接数配置
show variables like '%conn%';
设置所有用户最大连接总数
# 此方法在mysql重启后失效
set GLOBAL max_connections=1024;
show variables like '%max_connections%';
# 修改配置文件,需要重启mysql服务
修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:
max_connections=512
设置通用用户的最大连接数
# 此方法在mysql重启后失效
set GLOBAL max_user_connections=1024;
show variables like '%max_user_connections%';
设置某一个具体的用户的最大连接数
update mysql.user set `max_user_connections` = 200 where `User`= 'XX';