解决MySQL自动断开连接的问题
有三个方法可以解决这个问题:
1:修改MySQL配置参数
2:修改JDBC
3:修改第三方的数据库连接池应用 Proxool.xml
方法1的解决方案:
这个参数的名称是 wait_timeout,其默认值为 28800秒(8小时)。其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL 会主动断开这个连接。在其客户程序中可以输入命令语句查看其值:
show variables like '%timeout%'; 或者
命令:show global variables like 'wait_timeout' 查看等待时间
修改操作:
Linux下打开/etc/my.cnf,在属性组mysqld下面添加参数如下:
[mysqld]
interactive_timeout=28800000 (28800000=8000个小时)
wait_timeout=28800000
windows下打开my.ini,增加:
interactive_timeout=28800000
wait_timeout=28800000
在msql5中wait_timeout的最大值分别是24d/365(win/linux);没有办法把这个值设置成无限大,
因此如果你无法保证你的应用程序必定在设定的秒数内至少有一次操作,那么最好用第二个方法解决这个问题。
方法二的解决方案:
修改如下JDBC连接的 URL:
jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true
添加 autoReconnect=true 这个参数,即能解决这个问题。
方法三的解决方案:
配置文件(proxool.xml):
<?xml version="1.0"encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<!-- proxool别名 -->
<alias>mysql</alias>
<!-- 数据库连接URL -->
<driver-url>
jdbc:mysql://localhost/yourDatebase?useUnicode=true&characterEncoding=UTF-8</driver-url>
<!-- JDBC驱动名称 -->
<driver-class>com.mysql.jdbc.Driver</driver-class>
<!-- 数据库连接帐号 -->
<driver-properties>
<property name="user"value="root" />
<property name="password"value="password" />
</driver-properties>
<!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 -->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受 -->
<maximum-new-connections>20</maximum-new-connections>
<!-- 最少保持的空闲连接数 -->
<prototype-count>3</prototype-count>
<!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 -->
<maximum-connection-count>20</maximum-connection-count>
<!-- 最小连接数 -->
<minimum-connection-count>3</minimum-connection-count>
<!-- 在分配连接前后是否进行有效性测试,这个是解决本问题的关键 -->
<test-before-use>true</test-before-use>
<test-after-use>true</test-after-use>
<!-- 用于测试的SQL语句一定要写(不知道问什么)-->
<house-keeping-test-sql>SELECTCURRENT_USER</house-keeping-test-sql>
</proxool>
</something-else-entirely>
转载于:https://blog.51cto.com/10264855/1928281
解决MySQL自动断开连接的问题相关推荐
- 如何减少mysql的连接时间_mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案...
mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案 更新时间:2012年11月29日 20:27:52 作者: MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,My ...
- mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案
mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案 参考文章: (1)mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案 (2)https://www.cnbl ...
- dbcp连接mysql,8小时会自动断开连接
为什么80%的码农都做不了架构师?>>> 最近自己做一个项目用到dbcp连接mysql,开始时很正常,可是第二天再访问服务时就出问题了,mysql连接关闭了. mysql在空闲 ...
- mysql自动断开该连接解决方案
mysql自动断开该连接解决方案 参考文章: (1)mysql自动断开该连接解决方案 (2)https://www.cnblogs.com/xxsl/p/7146292.html 备忘一下.
- win7怎么连接不上宽带连接服务器未响应,win7宽带自动断开连接怎么办 win7宽带连接不上的快速解决方法...
近日很多使用wn7系统的用户出现宽带自动断开连接的情况,大家知道该怎么解决吗?其实这种情况小编也遇到过,下面就为大家分享下小编遇到宽带自动断开连接的解决方法吧!大家如果没有其他的方法部分参照下面的步骤 ...
- 【SSH】SSH自动断开连接的原因和解决办法|SSH保持长连接方法
目录 原因 解决方法 即看即用 方法1:手工修改 方法2:shell命令行修改 详细说明 REMOTE HOST IDENTIFICATION HAS CHANGED问题解决 原因 用putty/Se ...
- 云服务器自动断开连接的解决办法
使用smarTTY连接腾讯云服务器一会不用就会自动断开连接,解决方法如下: 1. 找到sshd_config配置文件 vi /etc/ssh/sshd_config 使用vi打开进行编辑,在文件中找到 ...
- 腾讯云服务器自动断开连接的解决办法
腾讯云服务器自动断开连接的解决办法 1.找到sshd_config配置文件 打开并进行编辑,输入命令: vim /etc/ssh/sshd_config 在此文件中找到以下配置项: # ClientA ...
- oracle多久断开连接,Oracle自动断开连接
ORACLE自动断开数据库连接解决办法 最近,有客户提出在系统的应用中出现数据库频繁自动断开连接(每10分钟)的异常现象,通过查找学习,找到如下两种解决方法.供大家参考. 方法一.直接修改资源配置文件 ...
最新文章
- html 简单机器人对话页面,简单的js聊天机器人框架BotUI
- 报名 | 统计学概论和医疗临床大数据分析讲座
- java qq音乐接口 api,QQ音乐解析API接口更新:支持HQ,ape,flac无损音质,缓存功能
- LeetCode ZigZag Conversion
- CentOS 7最小化安装步骤
- 【Python-ML】无监督线性降维PCA方法
- oracle如何查询系统变量数据,Oracle如何对IN子查询使用绑定变量(转)
- 数据结构与算法(C++)– 链表(Link)
- C语言求最大公约数3种方法
- 如何按 value 对 dictionary 进行排序?
- MongoDB误删表恢复
- python调用菜单响应事件_Python处理菜单消息操作示例【基于win32ui模块】
- lamp 安装 mysql_linux lamp之离线安装mysql
- 如何才能写出一手逼疯同事的烂代码?
- 比CopyMemory还要快的函数SuperCopyMemory
- 查看Win10是否永久激活
- mysql怎么打开db文件_myMySQL数据库的db文件怎么打开? MySQL数据库使用教程
- matlab中f分布,在matlab中用哪个函数求F分布的分位点(分子分母的自由度和概率均已知)...
- 可清空所选时间的jquery.datetimepicker时间插件
- 白光干涉衍射实验的计算机仿真,白光干涉_衍射实验的计算机仿真_蓝海江