mysql,如何解决too many connections的连接数问题?
发布于 作者:苏南大叔 来源:程序如此灵动~

连接mysql
服务器的时候,报错: Too many connections
。这个问题该如何解决呢?本文将提出解决mysql
连接数问题的可能解决方案。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。本文测试环境:win10
,mysql@5.7.26
。
连接数问题
这个Too many connections
的本质问题是:数据库的连接数问题。mysql
数据库能够提供的连接数默认是100
,不能满足实际的数据库连接数。所以,解决问题的方向就两个:
- 增加能够提供的连接数数量设置。
- 减少实际的数据库链接,及时断开无用的链接。

实际测试中可以发现:也并不是严格的遵守这个值,比如上图设置为3,实际上开了5个连接后,才提示too many connections
。
sql
修改连接数【临时】
选项是max_connections
,可以通过sql
语句来查找:
可以通过下面的sql
进行临时设置。但是,重启mysql
服务之后,这个最大连接数选项就又变回去了。所以,意义也不是很大。

注意:这个重启失效!
配置文件修改连接数【永久】
也可以在my.cnf
里面查找,参考文章:
永久修改连接数的办法,也是修改my.cnf
。

my.cnf
配置文件位置
这个位置根据系统的不同,也有很多不同的位置。但是,可以统一使用下面的命令进行查看:
苏南大叔的测试环境里面,上述命令的返回值是:
在对应的配置文件里面,修改max_connections
配置项即可。如下图所示:

在windows
环境下,可以通过下面的方式,安装grep
命令:
相关文章
总之,增加“max_connections”选项设置,就可以在一定程序上解决Too many connections
的问题。然而,这个连接数的上限设置也要符合主机的实际硬件情况。所以,究竟设置为多少比较合适呢?这就需要经验值或者工具来测量了。


