MySQL连接没有关闭

时间:2014-10-22 18:41:02

标签: java mysql jdbc connection

我有一个在Tomcat7上运行的Web应用程序,它连接到MySQL 5.5。

我有两台运行相同代码的服务器:

  • Ubuntu的

  • 红帽

Ubuntu运行良好,保持稳定的8-16连接,但红帽一连接泄漏,连接数增加,永不下降。服务器最终重置~152个连接。

关闭连接的代码被调用:

try {
    conn.close();           
} catch (SQLException e) {
    exceptionController.logException(this.getClass().getSimpleName(), "finalize Db", e.getMessage(), false);
}finally{
    conn = null;
}

与MySQL的所有连接都来自此应用程序。

为什么行为不同? 是否有我应该考虑的配置设置 - 例如关闭睡眠连接设置

Ubuntu服务器状态:

enter image description here

红帽服务器状态:

MySQLWorkbench Server Status Screen

连接列表的部分屏幕: MySQLWorkbench Server Connection List

我发现这个post,似乎减慢了o / s连接速度,但它们仍在爬行。

修改

研究指出连接未正确关闭。为什么连接在一个环境中关闭而在另一个环境中关闭?

我已使用以下设置编辑my.cnf

wait_timeout=30

但是,客户端连接正在休眠,永远不会被杀死。已使用新设置重新启动服务器。

我不理解什么?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。 XP SO Database Administrators

RedHat有自己的mysql文件夹:

[root@localhost ~]# locate my.cnf
/etc/my.cnf
/opt/rh/mysql55/root/etc/my.cnf

这是配置问题,我的配置文件未被使用!