请大神解说一下这些线程的运作机制。
还有本bug的解决方法。
8 个解决方案
#1
你的最大连接数设置是多少? 程序打开连接后有没有释放连接?
#2
连接满了
可以set global max_connections=1000;试试
可以set global max_connections=1000;试试
#3
连接数过多导致的。设置一下最大连接数。
#4
您好,我的最大连接数是1024,我想知道那些sleep的线程过多是不是就只能等到这些线程释放了才能连接呢,应该怎么解决
#5
程序拿到问题之后没有释放吧....或者你们的环境是用的java的线程池...线程状态为sleep 其实查询已经结束..但是程序没有释放...
#6
那么你的意思是说mysql服务器中处理请求的线程虽然程序中已经结束访问了,但是mysql服务器没有结束该线程,而是继续等待超时才去释放?
#7
连接后没有释放连接的原因导致。
#8
你可以考虑设置interactive_timeout和wait_timeout来让MySQL自动关闭非活动连接。http://hatemysql.com/2012/07/29/interactive_timeout%E5%92%8Cwait_timeout%E5%8F%82%E6%95%B0%E5%8C%BA%E5%88%AB%E5%92%8C%E8%AE%BE%E7%BD%AE%E7%AD%96%E7%95%A5/
#1
你的最大连接数设置是多少? 程序打开连接后有没有释放连接?
#2
连接满了
可以set global max_connections=1000;试试
可以set global max_connections=1000;试试
#3
连接数过多导致的。设置一下最大连接数。
#4
您好,我的最大连接数是1024,我想知道那些sleep的线程过多是不是就只能等到这些线程释放了才能连接呢,应该怎么解决
#5
程序拿到问题之后没有释放吧....或者你们的环境是用的java的线程池...线程状态为sleep 其实查询已经结束..但是程序没有释放...
#6
那么你的意思是说mysql服务器中处理请求的线程虽然程序中已经结束访问了,但是mysql服务器没有结束该线程,而是继续等待超时才去释放?
#7
连接后没有释放连接的原因导致。
#8
你可以考虑设置interactive_timeout和wait_timeout来让MySQL自动关闭非活动连接。http://hatemysql.com/2012/07/29/interactive_timeout%E5%92%8Cwait_timeout%E5%8F%82%E6%95%B0%E5%8C%BA%E5%88%AB%E5%92%8C%E8%AE%BE%E7%BD%AE%E7%AD%96%E7%95%A5/