mysql sleep连接过多的完美解决办法
睡眠连接过多,会对mysql服务器造成什么影响?
严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。
造成睡眠连接过多的原因?
1. 使用了太多持久连接(个人觉得,在高并发系统中,不适合使用持久连接)
2. 程序中,没有及时关闭mysql连接
3. 数据库查询不够优化,过度耗时。
那么,如果要从根本上解决sleep连接过多,就得从以上三点反复检查,但是见效并不快。
网上有人分享,使用shell脚本配合cron,定期杀死睡眠时间太久的连接,但是这种方法非常不可取,典型的以暴制暴,很可能导致数据崩溃,而且,还需要编写相应shell, 设置cron, 实施成本较繁琐,不推荐使用。
那么更好的办法应该是让mysql自己决定这些睡眠连接的命运,实施会更简单,有效。
mysql的配置文件中,有一项:
wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止,多好的办法!
如设置:
wait_timeout=100 #即设置mysql连接睡眠时间为100秒,任何sleep连接睡眠时间若超过100秒,将会被mysql服务自然终止,要比编写shell脚本更简单。
那么,对于正在运行中的生产服务器,在不能停止服务情况下,修改此项怎么办?很简单,以root用户登录到mysql,执行:
set global wait_timeout=100
即可。
在我的生产环境中,使用这个办法,取得了相当好的效果。
当然,更根本的方法,还是从以上三点排查之:
1. 程序中,不使用持久链接,即使用mysql_connect而不是pconnect。
2. 程序执行完毕,应该显式调用mysql_close
3. 只能逐步分析系统的SQL查询,找到查询过慢的SQL,优化之
mysql sleep连接过多的完美解决办法相关推荐
- 无法连接至远程计算机 pubg,绝地求生无法连接到steam网络完美解决办法
steam是一个大型游戏平台,汇集了国内外海量热门游戏,其中的绝地求生赫然在列.近期部分玩家在使用steam游戏平台的时候的会遇到部分意外情况,无法连接到steam网络怎么办是咨询量最大的一个问题.下 ...
- 绝地求生无法连接至远程计算机,绝地求生无法连接到steam网络完美解决办法
steam是一个大型游戏平台,汇集了国内外海量热门游戏,其中的绝地求生赫然在列.近期部分玩家在使用steam游戏平台的时候的会遇到部分意外情况,无法连接到steam网络怎么办是咨询量很大的一个问题.下 ...
- rdo远程计算机需要,RDO远程连接时错误提示解决办法
RDO远程连接时提示"远程计算机需要网络级别身份验证,而您的计算机不支持该验证,请联系您的系统管理员或者技术人员来获得帮助" 1.先用个人电脑自带远程工具mstsc连接到服务器Wi ...
- Can't connect to MySQL server on 'localhost' (10061)的解决办法!
Can't connect to MySQL server on 'localhost' (10061)的解决办法! http://blog.sina.com.cn/s/blog_52ebca1f01 ...
- Mysql遇到Too many connections的解决办法
Mysql遇到Too many connections的解决办法 由于线上mysql实例太多,因此也就经常遇到Too many connections的问题,这个问题也是最常见的问题,下面就结合自己的 ...
- win10蓝牙已配对安卓手机但连接不上 完美解决方法
win10蓝牙连接手机蓝牙,显示已配对但未连接 完美解决办法. 电脑:惠普暗影精灵台式机win10,版本号21H2 手机:安卓手机 1. win10蓝牙连接不是手机蓝牙基本上是驱动太老了,自带Wind ...
- Mysql Too many connections最实用解决办法
背景是 ui工具登录mysql报错 too many connections 解决办法:服务器登录mysql : mysql -u root -p 百分之九十进不去,进不去的执行重启命令 :/etc/ ...
- Linux下数据库连接超时时长,关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法...
.Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...
- MYSQL使用UTF8中文乱码终极解决办法
转自:http://wenku.baidu.com/view/d2d4f15ba8114431b80dd81f.html MYSQL使用UTF8中文乱码终极解决办法 作者:刘明灵 liumingl ...
最新文章
- Windows的驱动开发模型
- 阿里内部禁用Executors创建线程池,为什么?
- WHY MAKE ANOTHER APPLICATION AT ISSM?
- 循环队列 队空、队满 条件
- 产品经理没有做过成功的产品,该何去何从?
- 分布式系统面试连环炮
- 前端页面——Cookie与Session有什么差别
- 5.MongoDB之正则表达式与聚合框架
- Java CLH队列
- PS——图像合成与渐变工具
- sqlserver 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'test' 中的标识列插入显式值...
- 【网络协议模糊测试实战】使用sulley对PCManFTP进行模糊测试
- 第2台计算机的英文简写是,又一IP古装权谋剧来了!那么IP到底是哪两个英文的缩写?...
- jdk和jre(jdk和jre的关系)
- AndroidWear 连接手持设备与穿戴设备模拟器到开发环境
- android音乐播放器开发 SweetMusicPlayer 加载歌曲列表
- 医院检验科设计需要注意什么
- java 1~20阶乘和 步骤详解
- NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等
- 2015年职称计算机考试宝典,2015年职称计算机考试宝典[精].doc
热门文章
- 操作socket报Too many open files errno :24错误解决方法
- 数据结构之外部排序:置换-选择排序
- 将M进制的数转换为N进制的数(java)
- 从零开始学PowerShell(8)创建一个进度条
- bat文件运行java的jar包不弹出dos窗口,开机自启jar包
- 搭建一个jumpserver跳板机
- Hadoop环境 IDE配置(在eclipse中安装hadoop-eclipse-plugin-2.7.3.jar插件)
- perl 面向对象demo
- linux主机名的修改
- 自己动手写spring(三) 支持注解方式