1、数据库系统允许的最大可连接数max_connections。这个参数是可以设置的。如果不设置,默认是100。最大是16384。

2、数据库当前的连接线程数threads_connected。这是动态变化的。

查看max_connections、max_connections的办法见后。

如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现类似强坛的报错信息。

因为创建和销毁数据库的连接,都会消耗系统的资源。而且为了避免在同一时间同时打开过多的连接线程,现在编程一般都使用所谓数据库连接池技术。

但数据库连接池技术,并不能避免程序错误导致连接资源消耗殆尽。

这种情况通常发生在程序未能及时释放数据库连接资源或其他原因造成数据库连接资源不能释放,但强坛系统估计不会发生这种低级的编程错误。

该错误的简便的检查办法是,在刷新强坛页面时,不断监视threads_connected的变化。如果max_connections足够大,而 threads_connected值不断增加以至达到max_connections,那么,就应该检查程序了。当然,如果采用数据库连接池技术, threads_connected增长到数据库连接池的最大连接线程数时,就不再增长了。

从强坛出错的情况看,更大的可能性是数据库系统没能进行适当地配置。下面提出一点建议。供参考

让你们的工程师把MySQL的最大允许连接数从默认的100调成32000。这就不会老出现连接过多的问题了。

查看max_connections

进入MySQL,用命令:

show variables

查看数据库最大可连接数的变量值:

max_connections

查看threads_connected

进入MySQL,用命令:

show status

查看当前活动的连接线程变量值:

threads_connected

设置max_connections

设置办法是在my.cnf文件中,添加下面的最后红色的一行:

[mysqld] 
port=3306 
#socket=MySQL 
skip-locking 
set-variable = key_buffer=16K 
set-variable = max_allowed_packet=1M 
set-variable = thread_stack=64K 
set-variable = table_cache=4 
set-variable = sort_buffer=64K 
set-variable = net_buffer_length=2K 
set-variable = max_connections=32000

修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connections。

注意:

1、虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384;

2、除max_connections外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥;

3、添加了最大允许连接数,对系统消耗增加不大。

4、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通

转账自:http://www.aspnetjia.com

转载于:https://www.cnblogs.com/aspnetjia/p/5186991.html

轻松解决MYSQL数据库连接过多的错误相关推荐

  1. mysql数据库连接过多_轻松解决MYSQL数据库连接过多的错误

    1.数据库系统允许的最大可连接数max_connections.这个参数是可以设置的.如果不设置,默认是100.最大是16384. 2.数据库当前的连接线程数threads_connected.这是动 ...

  2. mysql数据库连接过多的错误,可能的原因分析及解决办法

    mysql数据库连接过多的错误,可能的原因分析及解决办法 来源:网络采集 作者:未知 系统不能连接数据库,关键要看两个数据: 1.数据库系统允许的最大可连接数max_connections.这个参数是 ...

  3. mysql许多连接错误而被阻止_怎样解决mysql连接过多的错误?

    设置max_execution_time 来阻止太长的读SQL.那可能存在的问题是会把所有长SQL都给KILL 掉.有些必须要执行很长时间的也会被误杀. 自己写个脚本检测这类语句,比如order by ...

  4. mysql错误连接次数过多_解决Mysql连接过多错误的方法

    问:怎样解决mysql连接过多的错误? 答:系统不能连接数据库,关键要看两个数据: 1.数据库系统允许的最大可连接数max_connections.这个参数是可以设置的.如果不设置,默认是100.最大 ...

  5. mysql主从切换gtid不一致_解决mysql使用GTID主从复制错误问题

    解决mysql使用GTID主从复制错误问题 做MySQL主从的话肯定会遇到很多同步上的问题, 大多数都是由于机器宕机,重启,或者是主键冲突等引起的从服务器停止工作, 这里专门收集类似问题并提供整理解决 ...

  6. 解决mysql数据库连接超时问题

    前段时间部署在服务器上的网站遇到一个问题:当较长时间没有去访问网站,再次打开时就会报一个数据库连接失败的错误,不管是用ssh开发的项目还是ssm开发的项目,都有这个问题.本篇博客记录这个问题的原因与解 ...

  7. 解决Mysql:unrecognized service错误的方法(CentOS)附:修改用户名密码

    2019独角兽企业重金招聘Python工程师标准>>> service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误 ...

  8. mysql数据库连接关闭_解决mysql数据库连接自动关闭问题

    MySQL是一个小型关系型数据库管理系统,由于MySQL体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库. 关于mysql ...

  9. 解决mysql无法启动,错误1067

    昨天晚上不知道怎么滴!mysql无法启动,错误内容如下: 没办法,我就打开mysql中的my.ini文件,发现里面的datadir=""没有指定到我的data文件下,立即把它给改了 ...

最新文章

  1. Unity3D 镜面反射
  2. TCP数据流稳定性--TCP分片,重组及乱序
  3. python秒杀神器苏宁_Python爬虫——实战三:爬取苏宁易购的商品价格
  4. springmvc如何使用视图解析器_SpringMVC工作原理
  5. Linux的下载命令wget详解
  6. 表单提交防止恶意修改
  7. linux内核调度算法(2)--CPU时间片如何分配
  8. XMLReader—一个可以读取XML文件的java类
  9. 图论——两道并查集例题
  10. DLNA和UPnP是什么关系?通俗解释
  11. idea,as git插件基本操作(插件回滚,撤销,恢复上一个版本)
  12. 有限元基础及ANSYS应用 - 第9节 - 1 平面应力问题的ANSYS分析
  13. 使用labelme遇到path is on mount 'C:', start on mount 'D:'
  14. 电视不正常Android镜像投屏,爱奇艺乐播投屏
  15. Android在针式打印机上通过ESC/P指令打印二维码
  16. 金融统计分析python论文_金融统计分析论文选题.docx
  17. linux沙盒机制6,详解Android应用沙盒机制
  18. 吸顶那个叫什么_吸顶空调吊顶区别到底是什么
  19. Uncaught TypeError: XXX is not a function问题解决
  20. 国家超级计算机 甘霖,国家超级计算无锡中心主任助理甘霖:让“中国超算”扬威世界...

热门文章

  1. 前向渲染路径细节 Forward Rendering Path Details
  2. 通过案例对SparkStreaming透彻理解-3
  3. JS获取当前日期及时间
  4. 中小企业应如何选择合适的数据保护工具?
  5. 配置管理小报110904:htpasswd: The file passwd does not appear to be a valid htpasswd file.
  6. Latex应用和资源
  7. linux自动定时运行的脚本编写
  8. DOM结点的渲染(attach)
  9. GNU (内部)make函数
  10. 利用JDBC连接Oracle数据库