查了一下发现应用程序和mysql数据库建立连接,如果超过8小时应用程序不去访问数据库,数据库就断掉连接 。这时再次访问就会抛出异常。

关于mysql自动断开的问题研究结果如下,

1、c3p0、HikariCP等连接池配置。

2、在自己的程序中插入定时访问数据库的方法,比如使用Timer,Quartz或者spring中简易Quartz。

3、在mysql中有相关参数设定,当数据库连接空闲一定时间后,服务器就会断开等待超时的连接:

相关参数

mysql> show variables like '%timeout%';+-----------------------------+----------+

| Variable_name | Value |

+-----------------------------+----------+

| connect_timeout | 10 |

| delayed_insert_timeout | 300 |

| innodb_flush_log_at_timeout | 1 |

| innodb_lock_wait_timeout | 50 |

| innodb_rollback_on_timeout | OFF |

| interactive_timeout | 28800 |

| lock_wait_timeout | 31536000 |

| net_read_timeout | 30 |

| net_write_timeout | 60 |

| rpl_stop_slave_timeout | 31536000 |

| slave_net_timeout | 3600 |

| wait_timeout | 28800 |

+-----------------------------+----------+

12 rows in set

同一时间,interactive_timeout,wait_timeout这两个参数只有一个起作用。

到底是哪个参数起作用,和用户连接时指定的连接参数相关,缺省情况下是使用wait_timeout。

我在配置文件中将wait_timeout修改后在mysql中查寻到还是不起作用,于是将这两个参数都修改了,再次查询wait_timeout的值后才显示修改后的。

4、修改参数

这两个参数的默认值是8小时(60*60*8=28800)。测试过将这两个参数改为0,系统自动将这个值设置为1。也就是说,不能将该值设置为永久。

将这2个参数设置为24小时(60*60*24=86400)。

set interactive_timeout=86400;

set wait_timeout=86400;

也可以修改my.cnf,修改后重起mysql

打开/etc/my.cnf,在属性组mysqld下面添加参数如下:

[mysqld]

interactive_timeout=28800000

wait_timeout=28800000

如果一段时间内没有数据库访问则mysql自身将切断连接,之后访问java访问连接池时对数据库的数据通道早就关闭了。

设置mysql回收空闲链接_mysql 8小时空闲后连接失效的解决相关推荐

  1. MySQL 8小时空闲后连接失效的解决

    应用程序和mysql数据库建立连接,如果超过8小时应用程序不去访问数据库,数据库就断掉连接 .这时再次访问就会抛出异常. mysql> show variables like '%timeout ...

  2. wdcp mysql数据库无法链接_MySQL数据库之阿里云服务器中centos7 解决wdcp中不能远程访问mysql服务的问题...

    本文主要向大家介绍了MySQL数据库之阿里云服务器中centos7 解决wdcp中不能远程访问mysql服务的问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1.检查mys ...

  3. 设置mysql从库延迟主库一小时

    便于数据恢复,设置从库延迟主库1个小时 此图借用李磊的 直接上图了 非本人笔记 CHANGE MASTER TO MASTER_DELAY = 1800:单位为秒 [root@backup ~]# m ...

  4. mysql教程左右链接_mysql的左右内连接用法实例

    本文实例讲述了mysql的左右内连接用法.分享给大家供大家参考.具体如下: 用个例子来解析下mysql的左连接, 右连接和内连接 create table user_id ( id decimal(1 ...

  5. mysql 装载dump文件_mysql命令、mysqldump命令找不到解决

    1.解决bash: mysql: command not found 的方法 [root@DB-02 ~]# mysql -u root -bash: mysql: command not found ...

  6. win10 链接oracle11g,win10系统PLSQLDeveloper无法连接Oracle11g的解决方法

    很多小伙伴都遇到过win10系统PLSQLDeveloper无法连接Oracle11g的困惑吧,一些朋友看过网上零散的win10系统PLSQLDeveloper无法连接Oracle11g的处理方法,并 ...

  7. mysql连接超过8小时错误_mysql超过8小时数据库断掉连接的简单解决办法

    应用程序和数据库建立连接,如果超过8小时应用程序不去访问数据库,数据库就断掉连接 .这时再次访问就会抛出异常,如下所示: java.io.EOFException at com.mysql.jdbc. ...

  8. mysql数据库端口链接_mysql数据库端口链接

    高校计划ESC7天训练营-PolarDB搭建门户网站 Day04打卡 创建PolarDB数据库账号 使用无痕模式登录子账号 左侧侧边栏-产品与服务-云数据库PolarDB,进入PolarDB管理器 点 ...

  9. mysql 插入记录慢_mysql:insert插入数据过慢如何解决,设置innodb_flush_log_at_trx_commit为0就能解决...

    问题: 最近在做性能测试,造数据,发现insert好慢,只有几十条每秒,很奇怪,最后再网上找到了原因. 网文如下: MY SQL insert 速度过慢 最近在用MySQL做存储,测试中发现插入数据太 ...

最新文章

  1. android窗口泄漏,isInEditMode解决可视化编辑器无法识别自定义控件的问题
  2. AES和RSA前后端加解密
  3. 计算机视觉专业要学什么课程,[08本]“计算机视觉基础”课程介绍和课件
  4. 【十四】jvm 性能调优实例
  5. Android:通过Intent传递对象、Parcelable
  6. 3d激光雷达开发(字符串输出和实体绘制)
  7. 个人所得税的申报方式有两种,分别有什么区别?该怎么选?
  8. 利用 perl 调用 Java 类,通过读取文件 获取调用类返回值
  9. 深度学习中为什么要使用多于一个epoch?
  10. php ckeditor 使用教程,织梦实现使用默认编辑器ckeditor上传视频功能( 详细)
  11. C语言的文件读取------C语言
  12. java 根号x_Java-求根号n
  13. 如何在html中调用Js函数
  14. http://blog.csdn.net/lnb333666/article/details/7772344
  15. js下载Word文档
  16. Bugku--散乱的密文
  17. Qt5.9程序打包发布
  18. Mangos模拟器综合资源贴
  19. win10卸载电脑管家就蓝屏_Win10电脑蓝屏原因排查及解决方案
  20. ts给Number类型数据添加自定义方法报错:类型“Number”上不存在属性“divideStr”的解决方案

热门文章

  1. 不会JS逆向还说自己是爬虫人?从负(负基础)开是逆向JS有道翻译
  2. python读取pdf内容转word_【python】python实现PDF转word
  3. 不用升级 普通MP4也能看PDF ---PDFtoJPG
  4. VScode插件(自用)
  5. 下载自媒体内容素材,帮你快速创造内容
  6. java 数组去除重复_Java从数组中删除重复项?
  7. Spring Boot面试必问:启动流程
  8. 关于lvm扩容的方式
  9. 为什么在浏览器中不能使用搜狗输入法,而其他地方是可以的
  10. halcon编程入门七——halco算子大全