show processlist 看了以下,发现我的那个业务的DB确实有很多sleep链接没有关闭。
以前也曾遇到过类似的问题,导致此问题的原因从网上查了,大体有几下几种原因:
造成睡眠连接过多的原因?
1. 使用了太多持久连接(个人觉得,在高并发系统中,不适合使用持久连接)
2. 程序中,没有及时关闭mysql连接
3. 数据库查询不够优化,过度耗时。
对于正在运行中的生产服务器,在不能停止服务情况下,修改此项怎么办?很简单,以root用户登录到mysql,执行:
set global wait_timeout=100
mysql的配置文件中,有一项:
wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止,多好的办法!
如设置:
wait_timeout=100#即设置mysql连接睡眠时间为100秒,任何sleep连接睡眠时间若超过100秒,将会被mysql服务自然终止
相关推荐
主要介绍了MySQL Sleep连接过多问题解决方法,MySQL Sleep连接过多一般多为客户端没关闭连接导致的,解决方法很简单,修改一下配置文件即可,需要的朋友可以参考下
多线程下mysql连接数过多解决demo
mysql是线程不安全的,mysql不是线程安全的,多线程共用同一个mysql连接是会崩溃的 QT的QSqlDatabase是基于mysql的,所以一样是线程不安全的 现讲明mysql为什么是线程不安全的,以及在多线程环境下如何使用mysql,...
面试题c++mysql多线程操作系统 面试题c++mysql多线程操作系统 面试题c++mysql多线程操作系统 面试题c++mysql多线程操作系统 面试题c++mysql多线程操作系统
IDEA+Mysql调试常见异常解决办法_kaic.doc IDEA+Mysql调试常见异常解决办法_kaic.doc IDEA+Mysql调试常见异常解决办法_kaic.doc IDEA+Mysql调试常见异常解决办法_kaic.doc IDEA+Mysql调试常见异常解决办法_kaic.doc ...
C#多线程连接mysql,Access并且比较两者的性能 vs2008 Cs3.5
mysql查看当前执行线程_关闭当前的某些线程 show processlist_kill每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW
mysql主从复制设置多线程可以增加从服务器的同步速度,已实践!
shell的多线程,以及使用多线程编写shell脚本实现当前文件夹下批量插入MySQL。
mysql默认是线程不安全的.如何解决?
使用mybatis连接mysql数据库,进行多线程性能测试
基于C API的MySQL数据库多线程访问方法
和mysql_kill_sleep.sh一起使用才可以
mysql报权限错误解决办法mysql报权限错误解决办法
1.DBSqlMan是多线程访问mysql的动态库 2.mysql5,开源的windows下使用的mysql2次开发库,mysql官网上可以下载 3.testDb,简单的应用DBSqlMan的例子 整个工程已经在VS2005下运行通过,并在实际应用中使用过。提供了...
多线程的MySQL数据库的简单示例代码,新手适合!
MySQL数据库启动失败1067进程意外终止的解决办法总结
如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程)。 得到数据形式如下(只截取了三条): mysql> show processlist; +—–+————-+————...
解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记