mysql 8钟头空闲后一连失效的缓和,mysql8钟头

查了黄金时代晃发觉应用程序和mysql数据库建构连接,倘使超过8时辰应用程序不去拜候数据库,数据库就断掉连接
。当时再一次拜见就能抛出非常。

有关mysql自动断开的难题探讨结果如下,

1、在协和的次序中插入准期访谈数据库的办法,比如动用Timer,Quartz只怕spring中回顾Quartz。

2、在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_4503.com,timeout。

自家在铺排文件中将wait_timeout更正后在mysql中查寻到照旧不起功用,于是将那五个参数都改良了,再度查询wait_timeout的值后才突显更改后的。

2、修改参数
那三个参数的暗中同意值是8钟头(60*60*8=28800)。测验过将那五个参数改为0,系统自动将这几个值设置为1。约等于说,不能够将该值设置为世代。
将那2个参数设置为24时辰(60*60*24=86400)。
set interactive_timeout=86400;
set wait_timeout=86400;

也足以改正my.cof,订正后重起mysql
开荒/etc/my.cnf,在性质组mysqld下边增加参数如下:
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000

只要黄金年代段时间内并未有数据库访问则mysql自个儿将割裂连接,之后探访java访谈连接池时对数据库的数据通道早已关闭了

8钟头空闲后连连失效的覆灭,mysql8时辰查了须臾间开采应用程序和mysql数据库建构连接,要是超越8小时应用程序不去走访数据库,数据…

出于mysql默许8小时三番五回无访问,就能够断开.为此查了一下质地,有同种比较简单的缓慢解决方案:

  1. 增加 MySQL 的 wait_timeout 属性的值。 

将这2个参数设置为24钟头(60*60*24=604800)即可。  set
interactive_timeout=604800;  set wait_timeout=604800;