连接mysql时报too many connections错误,是因为打开连接太多导致。 通过show processlist你会发现有很多sleep连接,这是因为使用了长连接(mysql_pconnect)或者短连接(mysql_connect)未正常关闭导致的。 可以修改mysqld的最大连接数,同时设置一个短的超时时间,让短连接尽快的自动关闭即可解决次问题: 修改/etc/my.cnf,添加下面内容,并重启mysqld服务即可:

max_connections = 500 #由默认的150改成500个连接
wait_timeout=600 #由默认的2880改为600秒
interactive_timeout = 600 #由默认的2880改为600秒