前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL存在sleep连接的原因及解决方法

MySQL存在sleep连接的原因及解决方法

原创
作者头像
半桶水到一桶水
发布2021-12-03 16:37:03
4.3K0
发布2021-12-03 16:37:03
举报

原因:

使用下面的命令:

代码语言:txt
复制
mysql> show full processlist;

可以看到mysql中存在多少sleep连接,有时候会发现,明明已经将程序关闭了,连接怎么还存在呢?

笔者就是在使用navicat的时候发现这个问题的,当使用navicat连接数据库之后,如果在短时间内关闭navicat,就不会存在sleep连接问题,但是如果长时间之后比如十几二十分钟之后,再关闭navicat,那么之前的连接就会一直保持sleep状态,占用mysql的连接数。

其原因主要还是因为某些未知的bug导致连接没有被正确的关闭,具体原因这里不深究,这里讲一下怎么避免这种情况。

解决方法

安装mysql数据库之后,一定要记得对mysql进行一些设置,其中有两个设置能够避免存在大量sleep连接的问题。

这两个设置的命令如下:

代码语言:txt
复制
mysql> set global interactive_timeout=100;
mysql> set global wait_timeout=100;

第一个是设置交互式连接保持的最大时间,单位是s(秒),超过该时间该连接就会被清除;

第二个是设置非交互式连接保持的最大时间;

这两个时间默认好像还挺大的,这里我们把它改掉,可以按实际需要改,不过别太大也别太小。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原因:
  • 解决方法
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档