鉴于mysql暗许八时辰一而再无访问,就会断开.为此查了瞬间材质,有同种比较简单的化解方案:

mysql 捌小时空闲后总是失效的缓解,mysql八钟头

查了一下发觉应用程序和mysql数据库建立连接,倘若跨越8时辰应用程序不去访问数据库,数据库就断掉连接
。那时再一次做客就会抛出尤其。

至于mysql自动断开的题材切磋结果如下,

一、在本身的次序中插入定时访问数据库的主意,比如选取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_timeout。

自家在布局文件少校wait_timeout修改后在mysql中查寻到依然不起作用,于是将那五个参数都修改了,再一次查询wait_timeout的值后才展现修改后的。

贰、修改参数
那四个参数的私下认可值是八小时(60*60*捌=28800)。测试过将那七个参数改为0,系统自动将以此值设置为一。也正是说,不可能将该值设置为永久。
将那1个参数设置为二4时辰(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小时空闲后延续失效的化解,mysql八钟头
查了弹指间意识应用程序和mysql数据库建立连接,假使跨越八时辰应用程序不去拜谒数据库,数据…

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

修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中装置: 
# Set a connection to wait 8hours in idle status.  wait_timeout
=86400 

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

但照旧并不健全,一旦超过那一个时间从没连接,照旧会报错.为此作者设计了第两种方案,防止超时,以期终极化解

网站地图xml地图