MySQL8小时连接超时断开问题

2023-10-26

报错:

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 66,313,166 milliseconds ago. The last packet sent successfully to the server was 66,313,166 milliseconds ago. is longer than the server configured value of ‘wait_timeout’. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property ‘autoReconnect=true’ to avoid this problem.
原因:

MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接的时候即抛出异常

解决方法

方法一:在jdbc连接url的配置中,添加“autoReconnect=true”,但这仅对myslq5以前的版本起作用

方法二:修改MySQL配置,MySQL服务器默认的“wait_timeout”是28800秒即8小时,调大“wait_timeout”的值,但最大只允许2147483 (24天左右),但不建议。

show variables like "%timeout%"
set interactive_timeout=2147483
set wait_timeout=2147483

 方法三:配置连接池(建议通过修改配置解决)

type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" JDBC驱动类
url=""
username="" 访问数据库用户名
password="" 访问数据库的密码
maxActive="80" 最大活动连接
initialSize="10"  初始化连接
maxIdle="60"   最大空闲连接
minIdle="10"   最小空闲连接
maxWait="3000" 从池中取连接的最大等待时间,单位ms.
validationQuery = "SELECT 1"  验证使用的SQL语句(如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用)
testWhileIdle = "true"      指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.
testOnReturn = “false”  归还连接时执行validationQuery检测连接是否有效,true做了这个配置会降低性能。
testOnBorrow = "false"   借出连接时不要测试,否则很影响性能。
timeBetweenEvictionRunsMillis = "30000"  每30秒运行一次空闲连接回收器
minEvictableIdleTimeMillis = "1800000"  池中的连接空闲30分钟后被回收
numTestsPerEvictionRun="3" 在每次空闲连接回收器线程(如果有)运行时检查的连接数量
removeAbandoned="true"  连接泄漏回收参数,当可用连接数少于3个时才执行
removeAbandonedTimeout="180"  连接泄漏回收参数,180秒,泄露的连接可以被删除的超时值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL8小时连接超时断开问题 的相关文章

  • 使用 Hibernate 在 MySQL 中存储字节数组

    我正在尝试保存带有字节数组字段的实体 我在 MySQL 数据库之上使用 Hibernate 和 JPA 这是字段定义 对于嵌入式 H2 数据库来说效果很好 Entity name blob public class Blob Lob Bas
  • HTAccess - 令人困惑的干净网址

    如果我想简单地重定向 clients page to clients php view page我会使用像这样简单的东西 它效果很好 Options FollowSymlinks RewriteEngine on RewriteRule c
  • 如何在不超时的情况下解析大型 CSV 文件?

    我正在尝试解析 50 MB 的 csv 文件 文件本身很好 但我正在尝试解决所涉及的大量超时问题 每个设置上传明智 我可以轻松上传并重新打开文件 但浏览器超时后 我收到 500 内部错误 我的猜测是我可以将文件保存到服务器上 打开它并保留我
  • 当数据表输入来自服务器的 JSON 数据时,更改 Google 图表栏颜色

    我一直在努力使用谷歌图表 API 我在 SO 上发现了这个出色的例子PHP MySQL Google Chart JSON 完整示例 https stackoverflow com questions 12994282 php mysql
  • Java 从 SQL 数组获取 ResultSet 失败

    我试图从数据库中检索电子邮件地址 但没有成功 我的代码如下 Main System out println PortfolioData getEmails 58 So Far Returning null 投资组合数据 public sta
  • 如何用 UNION 运算符替换 OR 运算符?

    这是我的查询 SELECT h id h subject h body matnF h amount h keywords tags h closed h author id author h AcceptedAnswer h type h
  • MYSQL中收盘价的简单移动平均线计算和更新表

    我可以使用一些帮助 最好是虚拟指南 来更新下表 CREATE TABLE SYMBOL day date NOT NULL open decimal 8 3 DEFAULT NULL high decimal 8 3 DEFAULT NUL
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • MySQL InnoDB 查询性能

    我正在尝试优化一个简单的 sql 查询 该查询将多次运行大量数据 这是场景 MySQL 与 InnoDB 表 where 和 join 中使用的所有字段都已索引 表有 FK 我不需要查询的整个缓存 但每个表的缓存是可能的 表有更多的更新 插
  • MySQL+子串怎么做? + 替换?

    我不太擅长 SQL 希望能够变得更好 我在尝试执行某些表操作时遇到一些麻烦 我希望能够从下面的 ProgUID 列中选择子字符串 就像是 SUBSTRING table ProgUID 3 12 这将为我提供 ProgUID P CAMVE
  • 通过连接从两个表中删除?

    我有两个表如下 tbl1 tbl2 id article id title image whole news tags author older datetime 其中 tbl1 id gt tbl2 article id 如何从两个表中删
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • MySQL 存储过程将值分配给 select 语句中的多个变量

    这是我的存储过程 我在为声明的变量赋值时遇到问题 当我执行它时 插入和更新命令工作正常 但声明变量的值保持为 0 但我在数据库中有一些价值 我怎样才能正确地做到这一点 BEGIN DECLARE PaidFee INT DEFAULT 0
  • 在 MacOSX10.6 上运行 python 服务器时 MySQLdb 错误

    运行我的服务器 python manage py runserver 产生以下错误 django core exceptions ImproperlyConfigured 加载 MySQLdb 模块时出错 没有名为 MySQLdb 的模块
  • ActiveRecord3死锁重试

    Rails 3 或 ActiveRecord 3 是否有任何插件可以复制旧版本死锁重试 http agilewebdevelopment com plugins deadlock retry插入 或者 该插件仍然适用于 Rails 3 吗
  • 当“修复表”查询在 mysql 中不起作用时该怎么办?

    我收到此错误 表的存储引擎不支持修复 当我尝试使用查询修复表时repair table tbl college master 表是 innodb 类型 但我不知道我收到此错误 See 手册 http dev mysql com doc re
  • 显示表 FULLTEXT 索引列

    我希望运行一个查询 该查询将返回表中全文索引的列列表 该表采用 MyISAM 格式 我将使用 php 来构建查询 理想情况下 我会运行查询 它会返回信息 以便我可以构造一个以逗号分隔的列字符串 例如 名 姓 电子邮箱 这在 MySQL 中可
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • 截断 Mysql 表 Cron 作业?

    我在如何使用 cron 作业截断 Mysql 表时遇到了一些麻烦 无论我尝试什么 我似乎都无法让数据库清除表格 感谢您的帮助 mysql uderp example pexample hlocalhost Dexample e TRUNCA
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp

随机推荐

  • elasticsearch中mapping中的可设置的属性

    mappings 在index 库 下创建时使用 下面可以有多个mapping 以下数据结构主要针对每个mapping进行说明 一级属性 二级属性 三级属性 说明 dynamic 新增字段自动模式 true 表示自动识别新字段并创建索引 f
  • 动态爬虫(ajax)-爬取bilibili热门视频信息

    文章目录 前言 一 页面分析 二 编写爬虫 1 引入库 2 发出请求 2 1生成请求头 2 2发出请求并获取响应 3 解析响应的内容 4 保存提取的信息到本地 5 康康主函数 三 运行结果 前言 使用python爬虫爬取bilibli每日热
  • VS2019利用Developer Command Prompt for VS 2019查看对象模型中的Class

    本文利用Developer Command Prompt for VS 2019工具 快速查看对象模型中类的结构 便于大家迅速了解衍生类和基类的关系 文章目录 一 打开开发人员命令提示工具 二 使用步骤 1 确定cpp文件位置 1 1 查找
  • chatGPT侧边栏历史记录消失解决方法

    从昨天3月8日开始 很多程序员发现自己的chatGPT打开后左侧侧边栏历史记录消失了 自己辛辛苦苦测试的Prompt都没有了 折腾了很久都不行 不得不重新写Prompt 解决方法 其实很简单 就是退出账号登录 然后重新登录账号再刷新就恢复了
  • QT界面UI文件不读取问题

    QT的C 项目有一段时间没有打开 重新打开时发现部分ui界面不知道为什么无法在QT Creator中用designer编辑器打开了 问题如下图 1 双击该ui界面不会自动跳转到界面编辑器了 2 可以随意更改ui界面的代码内容了 正常的ui界
  • C/C++使用Windows的API实现共享内存以及同步

    目录 共享内存 事件 Event 实现思路 创建方 服务端 连接方 进程同步 windows的API CreateFileMapping MapViewOfFile CreateEvent WaitForSingleObject Creat
  • 复习js笔记

    JS w3cschool官网 1000多本编程教程免费学 在日常中遇到的js函数 forms document forms name for in 循环 let x name lai age 18 city nanyang var y fo
  • 深度学习:激活函数的比较和优缺点,sigmoid,tanh,relu

    1 什么是激活函数 2 为什么要用 3 都有什么激活函数 4 sigmoid Relu softmax 1 什么是激活函数 如下图 在神经元中 输入的 inputs 通过加权 求和后 还被作用了一个函数 这个函数就是激活函数 Activat
  • Vue

    一 vue router的实现原理 路由的概念来源于服务端 服务端中的路由描述的是URL和处理函数之间的映射关系 web前端单页应用SPA single page application 中 路由描述的是URL和UI之前的映射关系 这种映射
  • 华为机试题24-合唱队

    描述 N 位同学站成一排 音乐老师要请最少的同学出列 使得剩下的 K 位同学排成合唱队形 设K位同学从左到右依次编号为 1 2 K 他们的身高分别为T1 T2 TK 若存在i 1 i K 使得T1
  • 万字解读区块链游戏行业:洞察游戏的未来

    撰文 Mason Nystrom Jerry Sun Messari 分析师 编辑 南风 基于区块链的游戏领域正在快速扩张 这得益于 NFT 和游戏内货币的崛起 该领域的增长可以被视为数十年来游戏行业盈利策略和商业模式不断迭代的延续 在过去
  • VB--生成DLL的步骤

    1 找到工程栏下 当前工程 选中它 2 右键工程 属性 3 生成页签 改下版本号 以便区分 4 选择横的菜单栏 文件 生成 dll 文件 OVER
  • 驱动开发 linux内核GPIO子系统、及其新版API的概念和使用,linux内核定时器

    1 GPIO子系统 概述 每一个芯片厂商生产出芯片后会给linux提供一个当前芯片中gpio外设的驱动 我们只需要调用对应的厂商驱动就可以完成硬件的控制 而linux内核源码中的gpio厂商驱动有很多 linux内核个会对厂商驱动做一些封装
  • 【HIve】java.lang.NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT

    1 概述 xception in thread main java lang NoSuchFieldError HIVE STATS JDBC TIMEOUT at org apache spark sql hive HiveUtils h
  • 如何拥有个人的Github技术博客

    题图 87testing com 前不久用wordpress搭建了一个博客 用起来感觉不是太好用 并且数据库经常会发生异常挂掉 没找到解决方案 看到有不少人使用的hexo github方式搭建属于自己的博客 于是 我也做了一些尝试 将搭建的
  • 什么是Sui Kiosk,它可以做什么,如何赋能创作者?

    创作者和IP持有者需要一些工具帮助他们在区块链上实现其商业模式 Sui Kiosk作为Sui上的一种原语可以满足这种需求 为创作者提供动态选项 使他们能够在任何交易场景中设置完成交易的条件 本文将向您介绍为什么要在SuiFrens中使用Su
  • libusb linux 异步传输,libusb开发(关于异步IO)

    libusb开发 关于异步IO 上一篇介绍了libusb的同步传输接口 但是很多情况下使用同步传输远远达不到我们的要求 那么这个时候就应该使用异步传输 接下来的内容是我学习libusb时遇到的问题以及异步IO如何使用 异步写 void QU
  • 区块链智能合约solidity入门

    使用ubuntu系统安装ethereum开发环境 安装 Nodejs sudo apt get update sudo apt install curl curl sL https deb nodesource com setup 8 x
  • 紫禁之巅-Unity游戏开发教程:勇者斗恶龙之魔法石

    说明 开设了一个unity游戏开发课程 可以帮助对游戏开发有兴趣的小伙伴学习Unity游戏开发的知识和技术 课程地址 第一节课的课件是游戏工程 第二节的课件是大纲 和文章内相同 其它章节的课件和第一节课的相同 不需要重复下载 课程大纲 课程
  • MySQL8小时连接超时断开问题

    报错 Caused by com mysql jdbc exceptions jdbc4 CommunicationsException The last packet successfully received from the serv