我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

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

苏南大叔:mysql,如何解决too many connections的连接数问题? - mysql-too-many-connections
mysql,如何解决too many connections的连接数问题?(图5-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。本文测试环境:win10mysql@5.7.26

连接数问题

这个Too many connections的本质问题是:数据库的连接数问题。mysql数据库能够提供的连接数默认是100,不能满足实际的数据库连接数。所以,解决问题的方向就两个:

  • 增加能够提供的连接数数量设置。
  • 减少实际的数据库链接,及时断开无用的链接。

苏南大叔:mysql,如何解决too many connections的连接数问题? - error-too-many-connections
mysql,如何解决too many connections的连接数问题?(图5-2)

实际测试中可以发现:也并不是严格的遵守这个值,比如上图设置为3,实际上开了5个连接后,才提示too many connections

sql修改连接数【临时】

选项是max_connections,可以通过sql语句来查找:

show variables like '%max_connections%';

可以通过下面的sql进行临时设置。但是,重启mysql服务之后,这个最大连接数选项就又变回去了。所以,意义也不是很大。

set global max_connections=3;

苏南大叔:mysql,如何解决too many connections的连接数问题? - 最大连接数设置
mysql,如何解决too many connections的连接数问题?(图5-3)

注意:这个重启失效!

配置文件修改连接数【永久】

也可以在my.cnf里面查找,参考文章:

永久修改连接数的办法,也是修改my.cnf

苏南大叔:mysql,如何解决too many connections的连接数问题? - 修改配置文件
mysql,如何解决too many connections的连接数问题?(图5-4)

my.cnf配置文件位置

这个位置根据系统的不同,也有很多不同的位置。但是,可以统一使用下面的命令进行查看:

mysql --help|grep my.cnf

苏南大叔的测试环境里面,上述命令的返回值是:

C:\Windows\my.ini
C:\Windows\my.cnf
C:\my.ini
C:\my.cnf
E:\tools\phpstudy_pro\Extensions\MySQL5.7.26\my.ini
E:\tools\phpstudy_pro\Extensions\MySQL5.7.26\my.cnf

在对应的配置文件里面,修改max_connections配置项即可。如下图所示:

苏南大叔:mysql,如何解决too many connections的连接数问题? - mysql-max-connection
mysql,如何解决too many connections的连接数问题?(图5-5)

windows环境下,可以通过下面的方式,安装grep命令:

相关文章

总之,增加“max_connections”选项设置,就可以在一定程序上解决Too many connections的问题。然而,这个连接数的上限设置也要符合主机的实际硬件情况。所以,究竟设置为多少比较合适呢?这就需要经验值或者工具来测量了。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   mysql