MySql 提示连接超时,连接池的连接数量超过了Max Pool Size参数的限制
问题描述:
MySql.Data.MySqlClient.MySqlException (0x80004005): error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
在 MySql.Data.MySqlClient.MySqlPool.GetConnection()
在 MySql.Data.MySqlClient.MySqlConnection.Open()
在 _Default.Button1_Click(Object sender, EventArgs e)
处理过程:
部署在云服务器上的程序出现这个问题后,网上查查让修改mysql的最大连接数量,首先是查到当前MySql最大的连接数量还是默认的,然后在my.ini中改成了1000个,重启后生效了,重启IIS后好了。
--下面是mysql查看当前允许最大连接数的语句
然后过了一段时间又不行了,然后找程序里的BUG,看看哪里没有关闭数据库连接,结果没找到,重启了IIS后又好了一段时间(后来发现实际就是程序的原因)。
--下面是mysql查询当前数据库连接情况的语句,可以看出连接数远远少于1000
然后过了一段时间又不行了,发现出问题的时候其他数据库访问还是正常的,然后就搜了一下怎么看mysql的所有连接信息,主要是看每个数据库的连接数量。
然后就发现问题了,有些连接的时间特别长[TIME 字段],我开始找什么情况下会多一条不关闭的连接,这样找BUG果然很好找,问题得到了阶段性的处理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix