MYSQL提示“too many connections”

问题描述:产生这个问题的原因很明显,数据库连接太多。
原因剖析:
1)从代码角度:基于目前的ORM框架,基本告别了手动关闭连接的方式。如果代码问题,基本就要考虑事务锁定。
2)从数据库连接数角度:数据库连接默认是100个,基本够用。
解决方式:
基于以上两个原因,基本没有分析出任何问题。怎么办?回到问题本身,too many connections,我们先去查看下到底有哪些连接。以linux为例:
1)mysql -u root -p
2)输入密码
3)mysql->show processlist;
显示如下截图:


222.png

至此,我们发现有好多sleep状态的连接。百度一番,终于得到两种解决方案:
1)kill 进程id;
2)修改mysql配置文件,扩大其连接数,缩短休眠连接时间(超时就自动断开)
a)vi /etc/my.cnf
b)按下“i”进入编辑模式,输入
wait_timeout = 600
interactive_timeout = 600
再按下“ESC”,输入:wq保存文件并退出
c)重启mysql
1、查看mysql版本
方法一:status;
方法二:select version();

2、Mysql启动、停止、重启常用命令
a、启动方式
1、使用 service 启动:
[root@localhost /]# service mysqld start (5.0版本是mysqld)
[root@szxdb etc]# service mysql start (5.5.7版本是mysql)

2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld start

3、使用 safe_mysqld 启动:
safe_mysqld&

b、停止
1、使用 service 启动:
service mysqld stop

2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld stop

3、mysqladmin shutdown

c、重启
1、使用 service 启动:
service mysqld restart
service mysql restart (5.5.7版本命令)

2、使用 mysqld 脚本启动:
/etc/init.d/mysqld restart

你可能感兴趣的:(MYSQL提示“too many connections”)