paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill
paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill
作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
//检测本应用的泄漏数据库过滤
主要原理是:
a.在调用conn时,得到conn的localport,存储为一个list
b.从mysql查询本机器所有的连接
检测本机的泄漏数据库连接(大概)
select * from information_schema.processlist where user='root' and host like '192.168.1.1:%' and db='dbname' command='sleep' and time>60 and state='' and info is NULL
529 root atipc:8213 test Sleep 9932
c.判断localport,取得交集..就是本应用发出的conn...
d.循环调用使用kill id ,释放连接..
最难点的部分在于得到发出的连接对应的localport...
解开mysql jdbc5.1.7 驱动源码..把MysqlIO.java以及JDBC4Connection.java加入源码包..这样生成的class会先加载
修改/src/com/mysql/jdbc/MysqlIO.java,不个默认private的Socket改成public的..
/**attilax o13,change protect to public The connection to the server */
public Socket mysqlConnection = null;
修改JDBC4Connection.java, 不个默认protect的getIO()改成public的..
/**
* attilax o13
*/
public MysqlIO getIO() throws SQLException {
return super.getIO();
}
这样走ok兰..代码中调用...
JDBC4Connection conx=(JDBC4Connection) con;
MysqlIO mio=conx.getIO();
System.out.println(mio.mysqlConnection.getLocalPort());
paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill相关推荐
- 阿里云自动java和mysql数据库_阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程)...
阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程) (仅此纪念人生第一篇学习博客) 前阵子接了一个小小的JavaWe ...
- Linux自动备份压缩MySQL数据库的实用方法
MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据. ◆1.创建备份文件夹 #cd /www #makedir backup ◆2.编写运行脚 ...
- oracle主目录自动检测,ORACLE ADDM数据库自动诊断测试
一.建表 SQL> create table bigtab tablespace jerry as select rownum as id,a.* from dba_objects a; Tab ...
- MySQL数据库企业级应用实践
MySQL数据库企业级应用实践 标签(空格分隔): linux学习知识整理 一,概述 1.1 MySQL介绍 MySQL属于传统关系型数据库产品,它开放式的架构使得用户选择性很强,同时社区开发与维护人 ...
- MySQL数据库文件
MySQL数据库文件 本文档从MySQL数据库和存储引擎层面介绍各种类型的文件. 参数文件(my.cnf) 错误日志(error log) 二进制日志文件(binary log) 慢查询日志(slow ...
- MySQL数据库介绍——包含索引、视图、事务、引擎
文章目录 什么是数据库 数据库安装 索引 视图 事务 MySQL数据库优化方式 引擎 什么是数据库 平时我们大家看到的各种网站.网页,其实里面最底层的内容基本上都来自于数据库.首先我们看到的Web页面 ...
- mysql数据库约束无符号,MySQL所支持的数据类型与表字段约束类型的学习教程
MySQL 数据(字段)类型 在创建表的时候,要明确定义字段对应的数据类型.MySQL 主要的数据类型分为数值类型.字符串(文本)类型.时间日期类型和其他类型几类. 数值类型 数值类型说明: 补充说明 ...
- mysql提高缓存_合理配置MySQL缓存 提高缓存命中率
众所周知,系统读取数据时,从内存中读取要比从硬盘上速度要快好几百倍.故现在绝大部分应用系统,都会最大程度的使用缓存(内存中的一个存储区 域),来提高系统的运行效率.MySQL数据库也不例外.在这里,笔 ...
- 【信息化】MySQL数据库简介
1 什么是数据库? 简单的说,数据库(英文Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织.存储的.我们可以通过数据库提供的多种 ...
- Mysql DBA 高级运维学习之路-mysql数据库入门知识
1.MySQL数据库介绍 MySQL是一种关系型数据库管理系统,关系型数据库的特点是将数据保存在不同的表中,在将这些表放在不同的数据库中,而不是将所有数据统一放在一个大仓库里,这样设计增加了MySQL ...
最新文章
- [原创]什么是CMM?
- 树莓派3B用Ubuntu MATE安装ros
- Visual Studio查找搜索类和方法的快捷方法
- 入坑推荐系统,从Google这篇开始
- springboot集成mybatis源码分析-启动加载mybatis过程(二)
- python模块-getpass模块
- relation does not exist报错是什么意思_为什么Zookeeper天生就是一副分布式锁的胚子?...
- 使用NPOI库导入导出EXCEL
- 【计蒜客 - 2019南昌邀请赛网络赛 - M】Subsequence(字典树,dp预处理)
- ios 筛选_万千网友让quot;低调使用quot;的软件!居然还支持iOS
- 【转】VC++计算当前时间点间隔N天的时间(不使用CTimeSpan类)
- weblogic安装
- word模板生成利器poi-tl
- 读书笔记 · AI产品经理的工作流程
- 【Java面试】Java面试简历—轻松月薪过w(附赠最全简历模板)
- GeekBand C++ 设计模式 第一周笔记
- 美国音乐学院计算机音乐专业排名2015年,美国音乐学院排名前100
- 一篇文入门OA流程开发
- SpringSecurity自定义多Provider时提示No AuthenticationProvider found for问题的解决方案与原理(一)
- 语音识别(20201030)——麦克风阵列(采集语音信号)