Mysql错误Too many connections的解决方法
连接mysql时报too many connections错误,是因为同时打开连接太多、超过设置文件限制所致。通过show processlist你会发现有很多sleep连接,这是因为使用了长连接(mysql_pconnect)或者短连接(mysql_connect)未正常关闭导致的。
这时你需要检查程序代码,看是否有未正常关闭mysql连接,同时优化执行过慢的SQL语句。确定程序没问题时,修改mysql配置文件,加大mysqld的最大连接数,同时设置一个短的超时时间,让短连接尽快的自动关闭即可解决次问题:
修改/etc/my.cnf,添加下面内容,并重启mysqld服务即可:
这时你需要检查程序代码,看是否有未正常关闭mysql连接,同时优化执行过慢的SQL语句。确定程序没问题时,修改mysql配置文件,加大mysqld的最大连接数,同时设置一个短的超时时间,让短连接尽快的自动关闭即可解决次问题:
修改/etc/my.cnf,添加下面内容,并重启mysqld服务即可:
max_connections = 500 #由默认的150改成500个连接 wait_timeout=600 #由默认的2880改为600秒 interactive_timeout = 600 #由默认的2880改为600秒当然,加大连接数需要谨慎,设置够大,当同时打开的连接数太多时,有可能导致服务器内存不够而当机。