mysql "too many connections"

部分开发者可能遇到过这个问题,其实比较简单,首先您得看看到底有多少connections以及每个的状态。

SHOW PROCESSLIST;

然后你忽然发现大部分进程都在sleep,睡得时间还挺长。那就让他们少睡会吧。

[mysqld]
interactive_timeout=180
wait_timeout=180

加到你的配置文件中,重启mysql。默认28800是八小时,现在改到3分钟。这个你不能通过

SET interactive_timeout=180

生效。这是因为这个玩意儿是对一个session设置的,不是全局生效的。
做到这一步如果还是不放心,那就把连接数也调大点儿

[mysqld]
max_connections=1024

如果不想重启mysql,以下命令是可行的,但是重启mysql后会失效。

SET GLOBAL max_connections=1024

以上。

你可能感兴趣的:(mysql)