设置mysql回收空闲链接_mysql 8小时空闲后连接失效的解决
查了一下发现应用程序和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小时空闲后连接失效的解决相关推荐
- MySQL 8小时空闲后连接失效的解决
应用程序和mysql数据库建立连接,如果超过8小时应用程序不去访问数据库,数据库就断掉连接 .这时再次访问就会抛出异常. mysql> show variables like '%timeout ...
- wdcp mysql数据库无法链接_MySQL数据库之阿里云服务器中centos7 解决wdcp中不能远程访问mysql服务的问题...
本文主要向大家介绍了MySQL数据库之阿里云服务器中centos7 解决wdcp中不能远程访问mysql服务的问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1.检查mys ...
- 设置mysql从库延迟主库一小时
便于数据恢复,设置从库延迟主库1个小时 此图借用李磊的 直接上图了 非本人笔记 CHANGE MASTER TO MASTER_DELAY = 1800:单位为秒 [root@backup ~]# m ...
- mysql教程左右链接_mysql的左右内连接用法实例
本文实例讲述了mysql的左右内连接用法.分享给大家供大家参考.具体如下: 用个例子来解析下mysql的左连接, 右连接和内连接 create table user_id ( id decimal(1 ...
- mysql 装载dump文件_mysql命令、mysqldump命令找不到解决
1.解决bash: mysql: command not found 的方法 [root@DB-02 ~]# mysql -u root -bash: mysql: command not found ...
- win10 链接oracle11g,win10系统PLSQLDeveloper无法连接Oracle11g的解决方法
很多小伙伴都遇到过win10系统PLSQLDeveloper无法连接Oracle11g的困惑吧,一些朋友看过网上零散的win10系统PLSQLDeveloper无法连接Oracle11g的处理方法,并 ...
- mysql连接超过8小时错误_mysql超过8小时数据库断掉连接的简单解决办法
应用程序和数据库建立连接,如果超过8小时应用程序不去访问数据库,数据库就断掉连接 .这时再次访问就会抛出异常,如下所示: java.io.EOFException at com.mysql.jdbc. ...
- mysql数据库端口链接_mysql数据库端口链接
高校计划ESC7天训练营-PolarDB搭建门户网站 Day04打卡 创建PolarDB数据库账号 使用无痕模式登录子账号 左侧侧边栏-产品与服务-云数据库PolarDB,进入PolarDB管理器 点 ...
- mysql 插入记录慢_mysql:insert插入数据过慢如何解决,设置innodb_flush_log_at_trx_commit为0就能解决...
问题: 最近在做性能测试,造数据,发现insert好慢,只有几十条每秒,很奇怪,最后再网上找到了原因. 网文如下: MY SQL insert 速度过慢 最近在用MySQL做存储,测试中发现插入数据太 ...
最新文章
- android窗口泄漏,isInEditMode解决可视化编辑器无法识别自定义控件的问题
- AES和RSA前后端加解密
- 计算机视觉专业要学什么课程,[08本]“计算机视觉基础”课程介绍和课件
- 【十四】jvm 性能调优实例
- Android:通过Intent传递对象、Parcelable
- 3d激光雷达开发(字符串输出和实体绘制)
- 个人所得税的申报方式有两种,分别有什么区别?该怎么选?
- 利用 perl 调用 Java 类,通过读取文件 获取调用类返回值
- 深度学习中为什么要使用多于一个epoch?
- php ckeditor 使用教程,织梦实现使用默认编辑器ckeditor上传视频功能( 详细)
- C语言的文件读取------C语言
- java 根号x_Java-求根号n
- 如何在html中调用Js函数
- http://blog.csdn.net/lnb333666/article/details/7772344
- js下载Word文档
- Bugku--散乱的密文
- Qt5.9程序打包发布
- Mangos模拟器综合资源贴
- win10卸载电脑管家就蓝屏_Win10电脑蓝屏原因排查及解决方案
- ts给Number类型数据添加自定义方法报错:类型“Number”上不存在属性“divideStr”的解决方案