如何解决mysql 8小时空闲后连接超时的问题

问:怎样才能解决mysql 8小时空闲后连接超时的问题?

答:当应用程序和数据库建立连接时,如果超过了8个小时,应用程序句不会去访问数据库,数据库就会出现断掉连接的现象 。这时再次访问就会抛出异常,异常如下:

Communications link failure due to
underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
  at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913)
  at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2304)
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2803)
  at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
...

一般的解决方法大多是在数据库连接字符串中增加“autoReconnect=true ”选项。但是这只对mysql4以前的版本有效。在最新的mysql中是无效的。其实要解决这个问题也有一个简单的方法,就是修改mysql的启动参数。缺省情况下mysql的timeout时间是28800秒,正好是8小时,增加一个0就可以了。

同理也可以在" my.ini"文件中增加此参数。

mysqld-nt --default-table-type=innodb --interactive_timeout=288000

时间: 2024-12-30 20:41:02

如何解决mysql 8小时空闲后连接超时的问题的相关文章

Mysql DNS反向解析导致连接超时过程分析(skip-name-resolve)_Mysql

MySQL数据库收到一个网络连接后,首先拿到对方的IP地址,然后对这个IP地址进行反向DNS解析从而得到这个IP地址对应的主机名.用主机名在权限系统里面进行权限判断.反向DNS解析是耗费时间的,有可能让用户感觉起来很慢.甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了. 可以在配置文件里面禁止MySQL进行反向DNS解析,只需在my.cnf的[mysqld]段落中加入如下行即可: skip-name-resolve (windows与linux下一样的) 设备在连

解决win7系统电脑休眠后连接网络出现故障的方法

Win7系统使用休眠模式对系统恢复后网络无法连接的解决策略分享给大家.在指定的时间不在电脑旁,让系统就会自动进入休眠模式,这样就能够有效的节能,还能延长硬件的使用寿命,需要再次使用电脑时只需移动鼠标或键盘按键就可以快速恢复系统,很多用户都会使用这个休眠模式.使用休眠模式在对win7 32位系统进行恢复之后出现了无法连接网络的问题,遇到此问题的用户请来看看下面的解决策略吧. 1.右键单击桌面上的"计算机"属性; 2.在左侧窗口中点击的"设备管理器"; 3.在打开的设备

怎样解决mysql连接过多的错误

问:怎样解决mysql连接过多的错误? 答:系统不能连接数据库,关键要看两个数据: 1.数据库系统允许的最大可连接数max_connections.这个参数是可以设置的.如果不设置,默认是100.最大是16384. 2.数据库当前的连接线程数threads_connected.这是动态变化的. 查看max_connections.max_connections的办法见后. 如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时

解决Mysql远程连接出错不允许访问 ERROR 1130:Host is not allow

解决mysql数据库远程连接出错ERROR 1130: Host '' is not allowed to connect to this MySQL server     解决方法:基本上第一条就能搞定.   1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localho

如何解决mysql数据库8小时无连接自动关闭

windows下打开my.ini,增加: interactive_timeout=28800000 wait_timeout=28800000 专家解答:MySQL是一个小型关系型数据库管理系统,由于MySQL体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库. 关于mysql自动关闭服务的现象,可以通过mysql服务器端程序mysql Administrator调整连接参数.将max_connections max_u

删除mysql下pid文件后无法启动怎么解决?

  提示:"Starting MySQL-- ERROR! Manager of pid-file quit without updating file"的解决办法. 删除了mysql二进制日志文件后,重新启动mysql出现这个报错的,因为磁盘空间小,那些二进制文件占用了很大的空间.所以要删除.后来的解决方法是,进入mysql的var目录下cd /usr/local/mysql/var/,然后vi mysql-bin.index,去掉你删除的二进制日志文件即可.如果还是没有解决查看va

解决mysql无法远程连接问题

远程连接mysql数据库时出现如下提示信息:"MYSQL CONNECT ERROR – 1130:Host '202.43.**.**' is not allowed to connect to this MySQL server" 原来在创建mysql账户是,限制连接账户远程登录.也就是说,除了当前mysql所在的安装服务器外,其他的ip(主机)都是不允许访问的,尽管你的用户名和密码是正确的. 知道了问题的原因,下面就来解决问题. 首先需要登录到mysql的安装主机,然后进入mys

解决MySQL中Sleep连接过多的问题

在mysql中运行SHOW PROCESSLIST;,现数据库中有很多这样的进程: 其实就是MySQL中Sleep连接过多,那么造成sleep的原因,有三个,下面是mysql手册给出的解释: 1.客户端程序在退出之前没有调用mysql_close().[写程序的疏忽,或者数据库的db类库没有自动关闭每次的连接...]2.客户端sleep的时间在wait_timeout或interactive_timeout规定的秒内没有发出任何请求到服务器. [类似常连,类似于不完整的tcp ip协议构造,服务

mysql导入sql文件过大或连接超时的解决办法

原文:mysql导入sql文件过大或连接超时的解决办法      前段时间出差在现场开发的时候,导入数据库老是出问题.最后发现了一个神奇sql语句交给实施,只要导入出错就把如下语句执行就可以了.至今屡试不爽. set global max_allowed_packet=100 000 000; set global net_buffer_length=100000; SET GLOBAL interactive_timeout=28800 000; SET GLOBAL wait_timeout