感谢分享,原文地址:http://blog.sina.com.cn/s/blog_e7e07ec30102vsba.html
一、原因 
产生too many connections 的直接原因是因为数据库提供的连接被全部占满了。数据库可以提供多少连接,可以再my.cnf(linux)或者my.ini(windows)下设定。这个直接原因的上一次原因是引用程序占据连接不释放。至于为何不释放,那就是各个应用程序的具体问题了。

之前 ,遇到这个问题时,在网上找了很多关于这方面的资料,发现都不能解决这方面的问题。网上的资料只能提供一个共性的解决方案,无法提供个性的解决方案。而且,感觉网上的资料随意转载 ,没说明应用环境,有点不负责任。所以,从这个事件中,我感受到,解决自己的问题,还是得靠自己的逻辑分析。

在使用数据库连接池时,会配置数据库连接池的最小连接数,最大连接数以及默认连接数。在初始化数据库连接池时,配置的最小连接数就会来占据数据库提供的连接,而且这个连接是关闭tomcat之前,不会被释放的。列如:如果你配置的数据库连接池最小的连接数是20,那么,在tomcat上启动该应用程序,在用Mysql的线程查看命令:mysql>show processlist;时,你会发现,会有21条线程。这是因为会留有一条线程用于操作。show processlist命令显示的是Thread_connected,当Thread_connected与max_connections相等时,在企图进行数据库连接,就会出现too many connections的错误。

如果将数据库连接池交由spring管理,那么,每初始化一个spring管理容器,就会初始化一个数据库连接池,也就是(以上面配置的数据库连接池最小连接数为例)说,会占据20个数据库提供的线程,而且除非停掉tomcat,否则不会释放。这种情况下,若采用ClassPathApplicationContext(具体不太记得了,大概就这个意思)这种方式来开启一个spring容器,那么,而程序又是要被周期性调度执行,那么数据库的连接数无论被设为多大都没用。时间一长,就会出现too many connections的错误

二、解决方法
打开MYSQL安装目录打开MY.INI找到max_connections(在大约第93行)默认是100 一般设置到500~1000比较合适,重启mysql,这样1040错误就解决啦。
max_connections=1000
 
在日常的MySQL服务器中,wait-timeout这个参数非常有用。
(在部分MySQL的默认配置中可能没有wait-timeout这个参数项,你在[mysqld]节中加上即可)
参数意义:MySQL客户端的数据库连接闲置最大时间值。
参数默认值:默认值为8小时 。
这个参数的大概意思是某一个MySQL客户端连接闲置的最大时间值,即某一个MySQL客户端连接过程中,闲置的最大时间到达后服务器将其关闭。
MySQL服务器所支撑的最大连接数是有限的,因为每一个连接、第一个表打开的操作都要消耗服务器内存,理想状态是当一个MySQL客户端连接完成工作就自动断开释放内存,如果你的你的网站有大量的MySQL链接请求,这些连接完成SQL执行任务后空闲着啥事也不干,白白占用内存资源,如果 这些连接堆积起来,将导致MySQL超过最大连接数,从而无法新建MySQL连接,有可能导致“Too many connections”的错误。
可以在设置之前用show processlist查看一下MySQL状态,如果你发现你的MYSQL中有大量的Sleep进程,那么你真的需要设置你的wait-timeout了。依你的程序而定设置多大的值 ,我的设置wait-timeout=10,MySQL中的所有Sleep线程最多只能“睡”10秒,之后就被强行关闭了。

转载于:https://www.cnblogs.com/phi76ers3/p/10414670.html

启动tomcat出现too many connections的原因及解决方法相关推荐

  1. tomcat 项目发布失败原因_项目启动tomcat失败的几种可能原因和解决方法

    总结一下tomcat启动问题,也给自己做个笔记 , 逐渐补充完善. 1.java配置路径有问题,请配置好jdk路径,具体参考java路径的配置吧. 2.项目未添加tomcat驱动, (一般提示The ...

  2. 项目启动tomcat失败的几种可能原因和解决方法

    总结一下tomcat启动问题,也给自己做个笔记 , 逐渐补充完善. 1.java配置路径有问题 请配置好jdk路径,具体参考java路径的配置吧. 2.项目未添加tomcat驱动 (一般提示The s ...

  3. 启动Mac电脑出现黑屏的原因和解决方法

    启动Mac电脑出现黑屏是一个另人头疼的问题,想必许多小伙伴都遇到过吧.电脑黑屏原因很多,解决方法也有所不同,比如显示卡驱动程序不兼容.系统设置.软件冲突等等.针对启动mac电脑出现黑屏的问题,小编在这 ...

  4. 计算机有ssd为什么还启动慢,win10电脑SSD开机慢原因及解决方法

    需要用户手工点击,对于新主板来说. 而转换分区类型可能引发硬盘数据丢失,. BIOS中也要开启AHCI模式才能发挥SSD真正的效能,电脑硬件配置高系统也足够新,所有操作均行云流水,需要提前进行数据备份 ...

  5. eclipse找不到java方法,Linux启动eclipse报错找不到java环境解决方法

    在Linux mint下,前几天还用得很好的的eclipse,今天开机不知为什么这样. Eclipse 3.6 在 linux mint 12 可以在终端顺利启动Eclipse,但是鼠标双击,或者用起 ...

  6. IDEA 启动tomcat 端口占用原因以及解决方法( 使用debug模式)

    IDEA 启动tomcat 端口占用原因以及解决方法( 使用debug模式) 参考文章: (1)IDEA 启动tomcat 端口占用原因以及解决方法( 使用debug模式) (2)https://ww ...

  7. 直接双击启动tomcat中的startup.bat闪退原因及解决方法

    直接双击启动tomcat中的startup.bat闪退原因及解决方法 参考文章: (1)直接双击启动tomcat中的startup.bat闪退原因及解决方法 (2)https://www.cnblog ...

  8. 出现 org.apache.tomcat.xxx.ClassFormatException: Invalid byte tag in constant pool: 15 异常的原因及解决方法

    1 异常描述 最近,当我从 SVN 检出项目并正常配置完 Tomcat 之后,启动项目,总是报出如下异常: 2 异常原因 通过观察上述标记出来的异常描述,我们可以知道: org.apache.tomc ...

  9. 启动pip时,< Fatal error in launcher: Unable to create process using ‘“‘ >问题的原因及解决方法

    启动pip时,< Fatal error in launcher: Unable to create process using '"' >问题的原因及解决方法 参考文章: (1 ...

最新文章

  1. 读书笔记:《Aspx开发200问》——如何实现Repeater控件的分页
  2. 十个你需要在 PHP 7 中避免的坑
  3. 使用css3制作正方形、三角形、扇形和饼状图
  4. 动态内表 动态ALV显示
  5. 【转】用matlab画极坐标图,希望不同的半径点对应不同颜色,应该怎么做?有什么函数
  6. [LeetCode][Java] Unique Paths II
  7. [2021-09-04 AtCoder Beginner Contest 217] 题解
  8. IntelliJ IDEA库存在却报错找不到的解决办法
  9. 深度学习双显卡配置_gpu – 我可以在笔记本电脑上使用intel高清显卡实现深度学习模型...
  10. 极客学院HTML5全套教程
  11. HDU4699 Editor(双栈对弹)
  12. linux命名空间(namespace)学习(一)
  13. 前端HTML、CSS学习完整笔记(中下篇)
  14. 瑞盟MS2358 96KHz、24bit音频ADC芯片--DFN12 封装
  15. 19年6月英语六级阅读单词
  16. MySQL第十次作业
  17. thinkpad重装系统不引导_联想ThinkPad T470重装系统U盘无法启动怎么办?进bios设置启动教程...
  18. 新疆自治区谷歌地球高程DEM等高线下载
  19. 来!带你深入理解分布式事务:原理与实战!
  20. 徐无忌MySQL笔记:乐观锁VS悲观锁

热门文章

  1. 如何设置运行在Virtualbox内的Ubuntu虚拟机的静态ip地址
  2. PHP-ExcelReader
  3. 【Transformer】CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows
  4. redis生产环境持久化_在SageMaker上安装持久性Julia环境
  5. R语言任务视图:机器学习与统计学…
  6. 柏林的评委还识货,我的打赌也算是赢了
  7. 参加动画电影《魔比斯环》首映
  8. AVS264_FAQ集锦
  9. missing legacy device support
  10. sync是同步还是非同步_音视频是怎么保持同步的?(四)