Communications link failure mysql在应用启动后偶发连接断开修复

2023-11-09

最近应用在启动一段时间一后,就会偶发Communications link failure错误,偶尔也会报connect refused。

在网上找了一圈,找到比较靠谱的说法:mysql的server端,有自动断连机制,如果一个连接超过time_out的值,就会断开。

而我的应用,使用的是druid线程池,mysql断开时并没有通知线程池连接已断,此时如果用户要查询数据,而正好拿到线程池中已经被mysql单方面断开的连接,就会报上面的错误。

网上已有的解决方案:
1、修改timeout值,治标不治本
2、配置自动连接:autoConnect,可以解决,但限mysql4

还有几种方案,都不可行。我的最终方案:
druid有连接保活机制,我的应用也已经配置了相关参数,但经过排查发现都没有作用,此问题的解决思路如下:
1、保证连接有效
2、保证线程池已经开启了保活机制
3、查看mysql执行日志验证保活是否生效(关键)
4、springboot 相关参数为:

	keepAlive:true
	testWhileIdle:true
    validationQuery: SELECT 1
    timeBetweenEvictionRunsMillis: 6000

5、查看druid源码,如果保活机制默认为ping,修改为select 1.在启动时,jar包方式:
-Ddruid.mysql.usePingMethod=false
单元测试以及ide启动也可能配置此参数。

6、最后,查看linux日志,我们的mysql服务内存过高被kill了…………

以上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Communications link failure mysql在应用启动后偶发连接断开修复 的相关文章

  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • MySQL 跨表计数(*) 查询帮助

    SELECT name COUNT AS count FROM t1 t2 WHERE t2 id t1 id GROUP BY t2 id 我想从 t1 获取名称以及 t2 中 id 与 t1 相同的行数 到目前为止我已经得到了上面的内容
  • 如何在 JPQL 或 HQL 中进行限制查询?

    在 Hibernate 3 中 有没有办法在 HQL 中执行相当于以下 MySQL 限制的操作 select from a table order by a table column desc limit 0 20 如果可能的话 我不想使用
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • 如何在 Spring 中使 @PropertyResource 优先于任何其他 application.properties ?

    我正在尝试在类路径之外添加外部配置属性资源 它应该覆盖任何现有的属性 但以下方法不起作用 SpringBootApplication PropertySource d app properties public class MyClass
  • 使用数据库进行日志记录

    大多数日志似乎都是纯文本形式 而不是放入 MySQL 其他类型的数据库中 这是否有原因 在我看来 将它们放入数据库将使分析变得非常非常容易 但这会以牺牲速度还是其他什么为代价 我不太关心可移植性 显然你会有数据库连接的文本日志 我能想到两大
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 从jar中获取资源

    我有包含文件的 jar myJar res endingRule txt myJar wordcalculator merger Marge class 在 Marge java 中我有代码 private static final Str
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • Jetty、websocket、java.lang.RuntimeException:无法加载平台配置器

    我尝试在 Endpoint 中获取 http 会话 我遵循了这个建议https stackoverflow com a 17994303 https stackoverflow com a 17994303 这就是我这样做的原因 publi
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • 使用 Elastic Beanstalk 进行 Logback

    我在使用 Elastic Beanstalk 记录应用程序日志时遇到问题 我正在 AWS Elastic Beanstalk 上的 Tomcat 8 5 with Corretto 11 running on 64bit Amazon Li
  • 部署 .war 时出现 Glassfish 服务器错误:部署期间发生错误:准备应用程序时出现异常:资源无效

    我正在使用以下内容 NetBeans IDE 7 3 内部版本 201306052037 爪哇 1 7 0 17 Java HotSpot TM 64 位服务器虚拟机 23 7 b01 NetBeans 集成 GlassFish Serve
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • message.h

    文章目录 message h 概述 objc super objc msgSend objc msgSendSuper objc msgSend stret objc msgSendSuper stret objc msgSend fpre
  • java--基础--14--File

    java 基础 14 File 1 介绍 用于操作文件和目录 文件夹 1 1 构造方法 File String pathname 根据一个路径得到File对象 File String parent String child 根据一个目录pa
  • 【Lua】不进位保留小数点X位数

    游戏需求常常因为数值太大 需要简化显示 例XX XX亿 XX XX万 lua在对两个整数进行除法操作时不会向C 那样将结果转换成整数 而是自动转换成浮点数 所以当我们保留小数使用string format 2f str 的时候 会自动完成四
  • 去掉小数点后面的0(javascript)

  • HTML导航菜单

    frameset html 文件
  • Docker运行gin项目(go mod)

    准备 先在本地把golang的docker镜像拉取下来 docker pull golang Dockerfile文件内容 在gin项目根目录下创建Dockerfile配置文件 指定基础镜像 FROM golang 维护人信息 MAINTA
  • 【TCN回归预测】基于TCN时间卷积神经网络实现数据多输入回归预测附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 信号处理 图像
  • strapi的使用(三)-- 上传图片

    1 建表添加媒体字段 2 前端请求格式 用axios举例 需要注意几点 第一 传文件时 参数前要加前缀files 比如我表里面的媒体文件字段名为img 前端需要传的参数就为files img 第二 传除文件外的其他参数时 需要其他参数包裹在
  • 运用遍历判断无向图(网)是否连通

    基本思路 使用广度优先遍历方法 任选一个结点开始遍历 遍历结束后每个结点都访问到了即为连通 主代码 判断是否连通的isConnected 方法在最末尾 import dataStructure linearList LinkQueue pu
  • Win11安装适用于 Linux 的 Windows 子系统 (WSL)

    一 什么是适用于 Linux 的 Windows 子系统 官方解释 适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU Linux 环境 包括大多数命令行工具 实用工具和应用程序 且不会产生传统虚拟机或双启动设置开
  • 疫情当下,我们如何正确的看待nft数字藏品

    我是一个做传统家居行业的老板 从2019年底开始 国内疫情的反复蔓延 导致家居生意越来越难 线上线下都很难活下去 公司从一开始的裁员 到最后的关门 中间经历了很多挫折 还记得公司在关门的那一刻 手底下员工对我讲期待我东山再起的那一刻 当时数
  • 蓝桥杯2021年第十二届真题第一场-时间显示

    题目 题目链接 题解 就是考查取模运算 我是FW 居然用了牛刀 我是FW啊 而且我居然以为一秒等于一百毫秒 因为时 分 秒 毫秒之间的换算关系是不随着年月日的不同而变化的 所以直接整除就可以了 可以理解为时分之间为60进制进位关系 分秒之间
  • 未启用windows无线服务器,win10未启用对服务器的远程

    win10未启用对服务器的远程 内容精选 换一换 Windows Server 2012 R2操作系统弹性云服务器 本地使用远程桌面连接功能连接云服务器并启用redirected drive功能时 云服务器出现蓝屏 远程桌面连接启用了red
  • Android多线程下载断点续传

    先上图看卡结果 GITHUB Android多线程下载断点续传 下载杵这儿 如图所示点击下载就开始下载 点击停止就会停止再次点击下载就会接着下载了 设计思路是这样的 首先通过广播将下载信息传递给DownService DownService
  • 关于OAM技术的知识总结

    OAM技术 1 OAM技术产生的背景 以太网最初是为局域网设计的 由于局域网本身已具备较高的可靠性和稳定性 因此在设计以太网之初并未建立管理 维护的机制 而随着以太网在局域网 城域网以及广域网上的广泛应用 以太网管理维护机制的缺乏的缺点被放
  • Vue3通透教程【七】生命周期函数

    文章目录 写在前面 生命周期钩子函数 组合式API生命周期 写在最后 写在前面 专栏介绍 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章 应粉丝要求开始更新 Vue3 的相关技术文章 Vue 框架目前的地位大家应该都晓得 所谓三大
  • 卸载 kubesphere

    文章目录 脚本卸载 kk 卸载 脚本卸载 官方文档 从 Kubernetes 上卸载 KubeSphere 获取卸载脚本 卸载脚本 usr bin env bash function delete sure cat lt lt eof ec
  • jupyter notebook目录安装

    目录不是jupyter notebook自带的 需要手动安装 具体安装过程如下 step1 在Windows搜索框输入Anaconda Prompt 打开它 step2 输入pip install jupyter contrib nbext
  • avalon实现if-else

    div div class text1 if 的内容 div div
  • Communications link failure mysql在应用启动后偶发连接断开修复

    最近应用在启动一段时间一后 就会偶发Communications link failure错误 偶尔也会报connect refused 在网上找了一圈 找到比较靠谱的说法 mysql的server端 有自动断连机制 如果一个连接超过tim