`

解决数据库连接池连接mysql时,每隔8小时mysql自动断开连接的问题_转转转

阅读更多

解决数据库连接池连接mysql时,每隔8小时mysql自动断开连接的问题

文章分类:数据库 解决数据库连接池连接mysql时,每隔8小时mysql自动断开所有连接的问题

最近有个问题非常讨厌,我们的工程中使用自己的连接池连接mysql数据库,可mysql数据库每隔8小时就会自动断开所有链接,连接池就失效, 需要重新启动tomcat才有效,呵呵,服务器可不能老是用“人工智能”来干预啊,后来翻了一下mysql的手册,发现mysql有解决办法,下面就是最 简单的解决办法:

连接数据库的时候加上autoReconnect=true这个参数:

jdbc:mysql://localhost:3306/accounant?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true

但是,在mysql手册中有这样一段话:
autoReconnect

驱动程序是否应尝试再次建立失效的和/ 或死连接? 如果允许,对于在失效或死连接上发出的查询(属于当前事务),驱动程序将抛出异常,但在新事务的连接上发出下一个查询时,将尝试再连接。不推荐使用该特 性,这是因为,当应用程序不能恰当处理SQLExceptions时,它会造成与会话状态和数据一致性有关的副作用,设计它的目的仅用于下述情况,即,当 你无法配置应用程序来恰当处理因死连接和/或无效连接导致的SQLExceptions时。作为可选方式,可将MySQL服务器变量 “wait_timeout”设置为较高的值,而不是默认的8小时。


呵呵,不知道这种“副作用”会产生什么后果,难道会使tomcat崩溃??会产生“数据一致性”问题??

保险一点的办法还是增加“wait_timeout”这个值吧,把28800设置成更大的值,这样应该就不会有什么问题了吧。

注:目前我使用的是autoReconnect这种方式,未发现什么问题。

分享到:
评论

相关推荐

    2021年11月17日连接mysql8.0.16最新数据库连接池jar包.zip

    mchange-commons-java-0.2.19.jar\c3p0-0.9.5.5.jar\commons-dbcp2-2.9.0.jar\commons-logging-1.2.jar\commons-pool2-2.11.1.jar\

    nodejs将mysql数据库中的数据导出成excel表格文件

    使用nodejs将mysql数据库中的数据导出成excel格式,并附带mysql连接池及mysql模块的封装,以及三百万的mysql测试数据,内容详细。

    MySQL 5.1参考手册

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. ...

    MySQL 5.1参考手册中文版

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql ...

    javaBean自动生成工具,jdbc连接池封装

    根据mysql数据库自动生成对应的javabean,附带jdbc连接池工具类封装,支持Resultset转List javabean对象

    MYSQL中文手册

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql...

    mysql5.1中文手册

    连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理...

    mysql官方中文参考手册

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. ...

    MySQL5.1参考手册官方简体中文版

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. ...

    根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第10版)

    1、新增数据库连接池并可以手动配置,提升数据库连接的使用效率。 2、新增多线程并发处理并可以手动配置,大大提升数据收集和文件生成的效率。 3、增强字符串格式化工具,使得自动拼接字符串的应用场景更多。 4...

    JDBC 3.0数据库开发与设计

    4.7.8 连接池使用实例 4.8 分布式事务处理 4.8.1 XADataSource接口和XAConnection接口 4.8.2 事务管理器 4.8.3 关闭连接 4.9 例外处理 4.9.1 数据访问警告(SQLWarning) 4.9.2 数据截断(DataTruncation) ...

    MySQL性能优化详解.docx

    优化表的关联顺序:在多表关联查询时,MySQL的查询优化器会自动决定表的连接顺序,但有时手动指定关联顺序可以提高查询效率。 合理使用索引:索引可以显著提高查询速度,但过多或不当的索引会导致写入操作变慢,因此...

    MongoDB_Golang.zip

    基于Mgo,Mongo-go-driver这两个比较常用的MongoDB基础库,做了连接池初始化,model层服务封装,提供:初始化MongoDB连接池复用, MongoDB集合(类似MySQL的数据表)的增、删、改、查,事务、管道操作、聚合操作、...

    【源码】mysql 版本 spring 4.2.5 (SSM).rar

    2 阿里数据库连接池druid,安全权限框架 shiro,缓存框架ehcache ,工具类接口redis 3 集成wx接口开发 WX自定义菜单(支持多个公众号) 4 图片爬虫技术 输入有图片的网址,能把此网页的图片爬取并下载到本地服务器 5 ...

    支持多数据库的ORM框架ef-orm.zip

    (E-SQL) E-SQL不但解决了异构数据库的语法问题、函数问题、特殊的写法问题,还解决了动态SQL问题、绑定变量扩展等特性。 对于各种常用SQL函数和运算符,都可以自动转换为当前数据库支持的方言来操作。其函数支持也要...

    ueberDB:抽象您的数据库,创建数据库。 将每个数据库转换为对象键值存储

    Postgres(单个连接和连接池) 雷迪斯 重新思考 SQLite的 安装 npm install ueberdb2 例子 基本的 const ueberdb = require ( 'ueberdb2' ) ; // mysql const db = new ueberdb . Database ( 'mysql' , { user : ...

    J2EE经典案例设计与实现

    案例4:Servlet使用连接池访问数据库 案例5:实现多个URL映射一个Servlet 案例6:为Servlet创建JSP形式的URL 案例7:实现服务器自动激活的Servlet 案例8:访问Servlet的安全限制 案例9:Servlet读取初始化参数 案例...

    springboot-demo:SpringBoot的demo,将集成各类工具

    数据库连接池 druid 数据库 mysql 缓存 redis 持久层工具 mybatis ci/devops docker jenkins (待续) k8s (待续) 文档 swagger 使用说明 使用db_schema初始化数据库 config/application-database.yml 配置数据库连接 ...

    事务与连接池的基础学习

    mysql引擎是支持事务的,mysql默认自动提交事务。每条语句都处在单独的事务中。 手动控制事务 开启事务:start transaction | begin 提交事务:commit 回滚事务:rollback 事务的特性: 原子性:指事务是一个不可...

Global site tag (gtag.js) - Google Analytics