-
如何减少mysql的连接时间_mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案...
2021-01-18 20:38:15mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案更新时间:2012年11月29日 20:27:52 作者:MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被...mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案
更新时间:2012年11月29日 20:27:52 作者:
MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接的时候即抛出异常
解决这个问题的办法有三种:
1. 增加 MySQL 的 wait_timeout 属性的值。修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置:
# Set a connection to wait 8hours in idle status.
wait_timeout =86400
相关参数,红色部分
mysql> show variables like '%timeout%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| connect_timeout | 5 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| interactive_timeout | 28800 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| wait_timeout | 28800 |
+--------------------------+-------+
同一时间,这两个参数只有一个起作用。到底是哪个参数起作用,和用户连接时指定的连接参数相关,缺省情况下是使用wait_timeout。我建议是将这两个参数都修改,以免引起不必要的麻烦。
这两个参数的默认值是8小时(60*60*8=28800)。我测试过将这两个参数改为0,结果出人意料,系统自动将这个值设置为。换句话说,不能将该值设置为永久。
将这2个参数设置为24小时(60*60*24=604800)即可。
set interactive_timeout=604800;
set wait_timeout=604800;
2. 减少连接池内连接的生存周期,使之小于上一项中所设置的 wait_timeout 的值。
修改 c3p0 的配置文件,设置:
# How long to keep unused connections around(in seconds)
# Note: MySQL times out idle connections after 8hours(28,800seconds)
# so ensure this value is below MySQL idle timeout
cpool.maxIdleTime=25200
在 Spring 的配置文件中:
class="com.mchange.v2.c3p0.ComboPooledDataSource">
3. 定期使用连接池内的连接,使得它们不会因为闲置超时而被 MySQL 断开。修改 c3p0 的配置文件,设置:
# Prevent MySQL raise exception after a long idle timecpool.preferredTestQuery='SELECT 1'cpool.idleConnectionTestPeriod=18000cpool.testConnectionOnCheckout=true
修改 Spring 的配置文件:
相关文章
mysqldump备份方式是采用逻辑备份,最大的缺陷就是备份和恢复的速度都慢,这时候就需要一种很好用又高效的工具,xtraback 就是其中的一款,号称免费版的innodb hotbackup。接下来通过本文给大介绍使用xtraback备份MySQL数据库的方法,感兴趣的朋友一起看看吧2018-10-10
这篇文章主要介绍了MySQL如何实现事务的四大特性,帮助大家更好的理解和学习MySQL数据库,感兴趣的朋友可以了解下2020-09-09
这篇文章主要介绍了MySQL8安装Installer版的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09
这篇文章主要为大家分享了mysql 5.7.16winx64安装配置方法图文教程,感兴趣的朋友可以参考一下2016-10-10
本篇文章主要给大家详细讲解了MySQL复制优点以及Mysql复制的原理知识,对此有兴趣的朋友学习下。2018-02-02
这篇文章主要给大家介绍了关于linux安装mysql 8.0.x的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-05-05
这篇文章主要介绍了 MySql允许远程连接如何实现该功能的相关资料,需要的朋友可以参考下2017-02-02
在 MySQL 中,数据库和表对应于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。2011-01-01
下面小编就为大家带来一篇Java连接mysql数据库并进行内容查询的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-10-10
最近被一个朋友问到mySQL中in查询和exists的区别,当然只是草草的回答了下,今天偶然看到了一篇关于mysql中的exists查询的文章,读完感觉太”冷落”它了,这里总结一下,也跟自己常用的in查询做一下对比。有需要的朋友们可以参考借鉴,下面来一起学习学习吧。2016-11-11
最新评论
-
mysql jpa断开_Spring Boot如何解决Mysql断连问题
2021-01-18 18:31:46在Spring Boot JPA连接Mysql的过程中,经过 8小时后会发现断连的情况。application.properties配置如下(此坑我跳过,欢迎入坑):spring.datasource.url=jdbc:mysql://localhost/testspring.datasource.username=...在Spring Boot JPA连接Mysql的过程中,经过 8小时后会发现断连的情况。application.properties配置如下(此坑我跳过,欢迎入坑):
spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
原因分析:
mysql在默认的情况下,如果发现一个连接空闲时间超过8小时,将会在数据库端自动关闭这个连接。(mysql wait_timeout 为8小时)。
解决方式:
1 . Mysql 5 版本之前可以通过在URL后面加入autoReconnect=true,如:
spring.datasource.url=jdbc:mysql://localhost/test?autoReconnect=true
2 . application.properties文件中加入:
spring.datasource.test-on-borrow=false
spring.datasource.test-while-idle=true
spring.datasource.time-between-eviction-runs-millis= 3600000
3 . 粗暴点的直接修改 wait_timeout 时间:
show global variables like 'wait_timeout';
推荐第二种方式
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
-
mysql jpa断开_如何使用Spring Boot解决Mysql断连问题的详细介绍
2021-01-27 16:07:35本篇文章主要介绍了Spring Boot如何解决Mysql断连问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧在Spring Boot JPA连接Mysql的过程中,经过 8小时后会发现断连的情况。...本篇文章主要介绍了Spring Boot如何解决Mysql断连问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在Spring Boot JPA连接Mysql的过程中,经过 8小时后会发现断连的情况。application.properties配置如下(此坑我跳过,欢迎入坑):spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
原因分析:
mysql在默认的情况下,如果发现一个连接空闲时间超过8小时,将会在数据库端自动关闭这个连接。(mysql wait_timeout 为8小时)。
解决方式:
1 . Mysql 5 版本之前可以通过在URL后面加入autoReconnect=true,如:spring.datasource.url=jdbc:mysql://localhost/test?autoReconnect=true
2 . application.properties文件中加入:spring.datasource.test-on-borrow=false
spring.datasource.test-while-idle=true
spring.datasource.time-between-eviction-runs-millis= 3600000
3 . 粗暴点的直接修改 wait_timeout 时间:show global variables like 'wait_timeout';
推荐第二种方式
-
解决数据库连接池连接mysql时,每隔8小时mysql自动断开所有连接的问题
2019-05-21 10:28:041,connectionString里增加+ ";Pooling=false;",不知道效果如何 2,每隔一段时间重新连接数据库1,connectionString里增加+ ";Pooling=false;",不知道效果如何
2,每隔一段时间重新连接数据库
-
如何解决MySQL长连接导致的OOM事件(MySQL重启)
2020-12-30 19:44:04这些资源会在连接断开的时候才释放。所以如果长连接累积下来,可能导致内存占用太大,被系统强行杀掉(OOM),从现象看就是 MySQL 异常重启了。 如何解决这个问题 有以下两种方案: 一、在使用数据库的 -
PHP常驻进程如何解决数据库连接被断开
2019-12-02 09:30:48常驻进程的数据库连接是启动时初始化的,然后就一直连着,MySQL 的配置中,有一个叫做 “wait_timeout"的参数,这个参数大致的意思是这样:当一个客户端连接到 MySQL 数据库后,如果客户端不自己断开,也不做任何... -
MySQL断开SpringBoot_如何使用SpringBoot解决Mysql断连问题的详细介绍
2021-02-03 20:55:24本篇文章主要介绍了Spring Boot如何解决Mysql断连问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧在Spring Boot JPA连接Mysql的过程中,经过 8小时后会发现断连的情况。... -
如何解决SSH连接Linux超时自动断开?
2019-06-29 15:30:40最近项目开发中用到云服务器,部署了MySQL,开发团队总是反映MySQL过一会儿就断开连接了,必须手动重连才可以。反映越来越强烈,已经到了影响开发进度的高度了,必须解决! 查了资料,这个可能和SSH超时自动断开是... -
python连接mysql断开_python mysql断开重连的实现方法
2021-02-04 00:23:29接口请求报错pymysql.err.InterfaceError: (0, '')这个错误提示一般发生在将None赋给多个值,定位问题时发现pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')如何解决这个... -
mysql jpa断开_JPA连接数据库,一段时间没有数据操作会关闭连接,再次访问就会抛出异常,如何解决?...
2021-01-27 16:07:35使用JPA规范的DataNucleus框架实现DAO层,如果一直保持连接,两天之后,会抛出异常,下面是配置:<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/book_store?... -
dbcp mysql 8小时_MySQL连接空闲超过8小时DBCP造成的异常如何解决
2021-01-19 02:53:12MySQL连接时,服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection。connections如果空闲超过8小时,Mysql将其断开,而DBCP并不知道该connection已经失效,... -
MySQL数据库连接异常断开导致事务没提交的解决办法
2012-11-14 15:38:03我们经常遇到一个情况,就是网络断开或程序Bug导致COMMIT/ROLLBACK语句没有传到数据库,也没有释放线程,但是线上事务锁定等待严重,连接数暴涨,尤其在测试库这种情况很多,线上也偶有发生,于是想为MySQL增加一个... -
MySQL8小时自动断开连接
2015-04-09 10:21:39最近项目中使用连接池连接MySQL数据库, 过了8小时没人使用之后再使用就报错了 网上看了很多种解决方法, 但是没有满意答案 1. 修改mysql wait_timeout 配置 经理不让修改mysql配置... 综上, 应该如何解决这个问题? -
mysql linux 自动关闭_【mysql】Linux基础知识:如何解决mysql数据库自动关闭
2021-02-02 20:14:07将max_connections max_updates max_questions三项数据调整到很大的数字,那么你有限的操作将不会导致数据库服务的终止了在MySQL数据库中,如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库... -
peewee mysql自动断开_peewee解决问题”OperationalError: (2006, ‘MySQL server has gone away’)”...
2021-02-03 14:28:43用过MySQL的应该都知道,MySQL默认长链接只能保持8小时,超过后就会自动断开。在peewee中如何维持长连接呢?解决方法比较晦涩,需要自定义一个支持重试的mixin,然后自定义一种RetryMySQLDatabase混入mixinfrom ... -
【mysql】Linux基础知识:如何解决mysql数据库自动关闭
2016-11-25 14:41:25将max_connections max_updates max_questions三项数据调整到很大的数字,那么你有限的操作将不会导致数据库服务的终止了在MySQL数据库中,如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库... -
Python与MySQL如何保持长连接
2019-11-09 16:10:21Python与MySQL如何保持长连接 介绍 在python后端开发中,时常会与数据库交互,重复的断开、连接 会大大消耗数据库资源。 所以一般都是定义全局变量,来弥补这个缺陷。 但是 Python 与Mysql 长连接的过程中,如果长... -
解决peewee的MySQL长连接问题
2019-09-05 17:26:09MySQL的默认长链接只能保持8小时,超过后就会自动断开。 在peewee中如何维持长连接呢? 解决方法比较晦涩,需要自定义一个支持重试的类,然后自定义一种RetryMySQLDatabase混入类 from peewee import * from ... -
Linux下远程连接断开后如何让程序继续运行
2019-10-02 19:40:24我工作遇到的问题的:1...答案:有办法解决办法:(以CentOS系统为例)1、安装screen命令yum install screen #安装2、创建screen会话screen -S mysql5.5 #创建screen会话,自定义screen虚拟终端的名称,mysql5.5可以... -
mysql 安装java 停止_java-与MySql的连接会自动中止。 如何正确配置Connector / J?
2021-01-20 02:12:48我经历了很多解决方案,但问题得到了解决,但一段时间后连接超时或断开连接.2 3天后,我得到了解决我的问题的解决方案。许多解决方案建议使用autoReconnect = true,但是当我浏览文档时。 我在源代码中看到以下文本... -
Node.js中如何关闭mysql的连接_nodejs中,mysql连接——是每次查询连接一次数据库,还是启动node时连接...
2021-01-28 05:55:33两种方式解决1、你可以配置mysql的连接池var mysql = require('mysql');var pool = mysql.createPool({host: 'localhost',user: 'nodejs',password: 'nodejs',database: 'nodejs',port: 3306});var selectSQL = '... -
mysql 如何设置参数_MySQL系统配置参数优化总结【持续更新中】
2021-01-20 02:24:54个人在做项目过程中,曾对MySQL系统配置参数进行过一些调整与...1. 如何解决MySQL连接超时断开问题?解决方案:在my.cnf文件中的[mysqld]部分添加或者修改以下两个变量:wait_timeout=28800interactive_timeout= 28...
-
西南科技大学《电路分析A》期末考试试卷(含答案).pdf
-
Nump学习之np.empty()函数
-
Initialization failed for ‘https://start.spring.io’
-
自动化测试Python3+Selenium3+Unittest
-
浙江科技学院《C语言程序设计》两套期末考试试卷(含答案).pdf
-
基于Qt的LibVLC开发教程
-
PHP修改php.ini中关于文件上传大小的配置项
-
InPixio Photo Maximizer Pro(图片无损放大器软件)直装特别版V5.11.7612.27781
-
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
-
利用redis List队列简单实现秒杀 PHP代码实现
-
MySQL 触发器
-
浙江科技学院《流体力学》复习习题(含答案).pdf
-
JOKER.ONE JOKER.ONE JOKER.ONE社区
-
西南科技大学模电试卷及答案.pdf
-
Vue的细节优化解决300ms延迟问题
-
MHA 高可用 MySQL 架构与 Altas 读写分离
-
cannot find output in imported module librosa报错解决
-
西南科技大学《操作系统》习题答案.pdf
-
MySQL 高可用工具 heartbeat 实战部署详解
-
PHP随机不重复的数(自定义,以随机大乐透举例)