在运行mysql/ target=_blank class=infotextkey>mysql数据库时,出现大量的报错消息:too many connections。
以下解决方法,供参考。
1,mysql默认会给super用户留一个连接,可以用这个预留的连接来登录,来增加连接数;
但是如果连接的用户全是super权限的,则这个预留的连接不存在。此时可以用以下的命令设置连接数:
gdb -p $(cat data/mysql_sandbox5087.pid) -ex "set max_connections=5000" -batch
2,wait_timout指的是一个连接被关闭前等待的秒数,在这之前连接未关闭,状态为sleep;
因此,这个值要设置为一个合适的较小的值,可以使连接被回收的更快。
3,set global max_connections=1500 可以增大最大连接数。
4,set global max_user_connections=300
任何给定的MySQL账户允许的最大同时连接数,可以防止某一个用户对mysql连接过多。
5,interactive_timeout
服务器关闭交互式连接前等待活动的秒数(交互式连接是类似于像mysql管理工具中连接mysql的会话)。
当再遇到mysql中too many connections类的报错时,可以参考如上的方法,进行相关配置的调整,便可以解决问题。