The last packet sent successfully to the server was 0 milliseconds ago

2023-11-09

今天在弄数据库迁移及部署到客户服务器时,发现启动成功了,但是数据请求超时,赶紧打开日志看一下,报了这样的错:

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
	at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)
	at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156)
	at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:218)
	at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150)
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1560)
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1623)
	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2468)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
java.sql.SQLException: null,  message from server: "Host '10.21.5.91' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"

发现是数据库连接失败导致的,上下配置
在这里插入图片描述
分析了下由于项目中使用了阿里的数据库连接池Driud,配置了连接失败会重新连接,没过一会超过mysql配置最大失败连接数了,这边考虑是客户数据库的问题,马上作出了相关修改
1.修改了最大连接数以及最大失败数
2.数据库开启远程访问
3.有可能是数据库回收了连接,而系统的缓冲池不知道,继续使用被回收的连接所致的。所以将回收时间延长
重启之后,发现仍然连不上,网上看了不少帖子也试了,都不行
这边决定再看一下报错,发现是嵌套的异常

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
	at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
	at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:351)
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.negotiateSSLConnection(NativeAuthenticationProvider.java:777)
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:486)
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:202)
	at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1442)
	at com.mysql.cj.NativeSession.connect(NativeSession.java:165)
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:955)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)
	... 9 common frames omitted
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
	at sun.security.ssl.Handshaker.activate(Handshaker.java:554)
	at sun.security.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:1495)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1416)
	at

发现在调用ssl时报错了
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate),这句话翻译过来就是没有合适的协议(协议被禁用或密码套件不合适),想了一下连接数据库方面用到加密的地方,赶紧看了下jdbc参数,用的是useSSL=true ,又看了下去客户的mysql版本
在这里插入图片描述

哎草率了!之前开发测试用的都是8的版本,MySQL在高版本需要指明需要进行SSL连接,(保障Internet数据传输安全利用数据加密)需要在url后面添加useSSL=true或者false,
useSSL=true 需要连接
useSSL=false 不需要连接
改成false,在部署启动项目,解决了,
具体这地方为什么要这样设置,可能要去了解不少东西,搜了下说是需要为服务器校验提供受信任的存储库,也就是ssl客户端证书密匙,不然连接失败,有大佬了解的清楚的,赐教一下,不胜感激!

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

The last packet sent successfully to the server was 0 milliseconds ago 的相关文章

  • 通过 JDBC 连接到 DB2 时的用户和密码

    我正在尝试连接到本地 DB2 10 5 Express C 服务器 这是一个测试环境 所以我不关心安全性 我能够连接到命令行处理器 在 Windows 上运行 并且我更改了配置设置AUTHENTICATION CLIENT and TRUS
  • Maven 2 未运行 Junit 4 测试

    我在确保运行 Junit4 测试时遇到问题 同样的问题也被报告在https stackoverflow com questions 2021771 sort newest sort top https stackoverflow com q
  • 如何显示/隐藏jsf组件

    在我的一个 JSF 应用程序中 顶部的标题部分包含 selectOneMenu 底部的内容部分显示过滤器组件 默认情况下 应用程序首先在顶部显示 selectOneMenu 数据 在底部显示相应的 Filter 信息 如果用户选择不同的se
  • 如何使 ScheduledExecutorService 在计划任务取消时自动终止

    我正在使用一个ScheduledExecutorService如果网络连接已打开超过几个小时 则关闭该连接 然而 在大多数情况下 网络连接在超时之前就关闭了 所以我取消了ScheduledFuture 在这种情况下 我还希望执行程序服务终止
  • 在 SWT 中单击鼠标触发事件?

    在SWT中 对于MouseListener接口 可用的方法有mouseUp mouseDown and mouseDoubleClick 如何根据用户点击触发事件 我们可以通过结合来做到这一点mouseUp and mouseDown 但没
  • 在 Java Swing 元素中使用 HTML 样式是不好的做法吗?

    使用 HTML 设置 Swing 元素的样式被认为是不好的做法吗 举个例子 如果我想让标签变大并变红一次 我有两个选择 使用 API 调用 JLabel label new JLabel This is a title label setF
  • Java检测鼠标长按

    如果用户按下 JList 组件超过 3 秒 有什么方法可以捕获事件吗 我发现困难的部分是即使在用户松开鼠标左键之前也需要触发事件 这可以通过 mousePressed 和 mouseReleased 组合轻松完成 您可以在 mouseDow
  • Mysql为简单频繁查询创建排序索引性能

    我正在处理一个包含大约 400 万条消息条目的 mysql 表 并尝试根据时间戳选择最新的 50 条消息 另一个要求是返回的消息不以固定前缀开头 问题是单个查询大约占用 25 的 cpu 并且最多需要 1 5 秒 该查询经常由多个客户端执行
  • 有界通配符相关的编译器错误

    我想知道这段代码有什么问题 Map 但我试图说得更具体 这个问题在这个旧的 Apache 线程 ht
  • java.lang.ClassCastException: [B 无法转换为 java.lang.String

    我编写了一个带有字段 LoginId 和密码的实体类 我使用 AES ENCRYPT 加密密码并将其存储在数据库中 我只想检索已解密的密码 所以 我使用 AES DECRYPT 使用本机查询是在 OPen JPA 2 0 中 我写的查询是
  • Java 泛型:将 Object o 的类与 进行比较

    假设我有以下课程 public class Test
  • 如何在Java中通过反射调用代理(Spring AOP)上的方法?

    一个接口 public interface Manager Object read Long id 实现该接口的类 Transactional Public class ManagerImpl implements Manager Over
  • Java XML 解析器添加不必要的 xmlns 和 xml:space 属性

    我在 Windows 10 上使用 Java 11 AdoptOpenJDK 11 0 5 2019 10 15 我正在解析一些旧版 XHTML 1 1 文件 这些文件采用以下一般形式
  • logcat 信息出现在 Android Studio 的“运行”选项卡中

    我的 android studio 运行选项卡很简单 然后它变得更难并给我更多信息 例如 logcat 中的信息 如何禁用或删除第二张图片中出现的更多信息并返回到第一张图片中的第一个外观 我只需要正在运行的 flutter 应用程序的日志输
  • 使用 InputStream 通过 TCP 套接字接收多个图像

    每次我从相机捕获图像时 我试图将多个图像自动从我的 Android 手机一张一张地发送到服务器 PC 问题是read 函数仅在第一次时阻塞 因此 从技术上讲 只有一张图像被接收并完美显示 但在那之后当is read 回报 1 该功能不阻塞
  • SQL:比较不同表中的两个计数

    我有 3 张桌子 一张桌子上有世界上每个国家及其代币 NAME CODE Afghanistan AFG Albania AL Algeria DZ American Samoa AMSA Andorra AND Angola ANG An
  • 不唯一的表/别名

    因此 我尝试使用多个联接来运行此查询 以获得我想要的精确行 但我不断收到此错误 不唯一的表 别名 ss prices 我正在运行的查询 select ss accounts id ss accounts bot acc id ss acco
  • 文档过滤器在 Java 中不起作用?

    在超过 10 个字符的文本字段中 它必须显示错误 为此 我使用了文档过滤器 JTextField field JTextField txtFld AbstractDocument document AbstractDocument fiel
  • 用 lambda 表达式替换匿名函数

    我在 Java 8 映射操作中传递一个函数 Intellij 告诉我它可以用 lambda 表达式替换 但我不知道如何在不创建中间对象结构的情况下做到这一点 这就是我所做的 List
  • 在没有 ODBC 的情况下从 Java 操作 Access 数据库

    我想从我的 Java 项目操作 Microsoft Access 数据库 accdb 或 mdb 文件 我不想使用 Microsoft 的 JDBC ODBC Bridge 和 Access ODBC 驱动程序 因为 JDBC ODBC 桥

随机推荐

  • java中包装类的作用

    Java中包装类的作用 一 包装类是什么 包装类就是解决java的八种基本数据类型不面向对象的缺陷 而设计出来的一个个与每一个与基本类型相对应的类 这八种基本数据类型对应的类统称包装类 Wrapper Class 包装类均位于java la
  • 升级到spring security5遇到的坑-密码存储格式

    遇到的问题 将spring security oauth2 包括spring security 升级到最新 代码没有改动 运行项目没有报错 但是页面登陆时报错 There is no PasswordEncoder mapped for t
  • 火猴之图片立体翻转效果展示(firemonkey)

    结果 思路 1 使用firemonkey之3d应用 2 layout3d image3d textlayer3d 3 使用floatanimation改变image3d的rotation的角度实现 4 运用floatanimation的fi
  • Python自动化测试框架:Pytest和Unittest的区别

    pytest和unittest是Python中常用的两种测试框架 它们都可以用来编写和执行测试用例 但两者在很多方面都有所不同 本文将从不同的角度来论述这些区别 以帮助大家更好地理解pytest和unittest 1 原理 pytest是基
  • Nginx上线一个项目并简操

    Nginx上线一个项目 上线一个商场项目 第一步 将项目源码和数据库文件上传至html文件中 第二步 解压项目源码和导入数据文件 第三步 修改Nginx配置文件 配置server 虚拟机 第四步 在项目代码文件中配置连接MySQL的用户密码
  • 听说你Pycharm都不会用?这篇快速上手指南你必须拥有!

    0 前言 大家好 欢迎来到今天的基础入门编辑器Pycharm的使用篇 Pycharm 作为一款针对 Python 的编辑器 配置简单 功能强大 使用起来省时省心 对初学者友好 这也是为什么编程教室一直推荐新手使用 Pycharm 的原因 本
  • CTF之逆向之阿里巴巴

    题目地址 http www shiyanbar com ctf 13 题目预览 解题过程 1 下载附件发现是exe文件 2 使用PEid和Detect It Easy查壳 和 开发语言 发现没有加壳 都是用C 开发的 3 C 和Java P
  • 打开方式中选择默认方式无反映_系统小技巧:找回丢失的文件“打开方式”

    无论你在使用最经典的Windows 7 还是最主流的Windows 10 当某种文档可以用多个不同程序打开时 在文件的右键菜单中会出现 打开方式 的菜单项 从中可选择打开文档的程序 但有时我们会发现 明明程序在电脑中并未被卸载 但右键菜单中
  • 腾讯云域名解析

    腾讯云域名解析 外链图片转存失败 img 7ZtbvWq2 1562133684211 http shp qpic cn txdiscuz pic 0 bbs qcloud com common cf 163844rpqz5g6g6p6qf
  • 动态代理步骤

    实现动态代理的步骤 1 创建接口 定义目标类要完成的方法 2 创建目标类实现接口 3 创建InvocationHandler接口的实现了类 在invoke方法中完成代理类的功能 1 调用目标方法 2 增强功能 4 使用Proxy类的静态方法
  • jdk动态代理与CGLib的区别

    昨天被人问及动态代理与CGlib的区别 赶紧回顾一下 什么是代理 静态代理与动态代理 静态代理实例 JDK动态代理实例 CGLib 简介 CGLib 与JDK动态代理的区别 代理模式是Java中常见的一种模式 英文名字叫走Proxy或者Su
  • 基于 TiDB 的 Apache APISIX 高可用配置中心的最佳实践

    项目背景 什么是 Apache APISIX API 网关作为微服务架构中的重要组件 是流量的核心出入口 用于统一处理和业务相关的请求 可有效解决海量请求 恶意访问等问题 保障业务安全性与稳定性 作为开源的云原生 API 网关 Apache
  • SQL Server Powershell 开源数据库管理工具 dbatools

    在 Windows 中开发自动化运维 除了 python 就是 powershell了 powershell 与 windows 相关产品关联紧密 Windows 环境下的自动化开发一般使用 powershell sql server 亦是
  • 高效液相色谱分析的基本原理

    一 高效液相色谱分析法 百度百科 高效液相色谱以经典的液相色谱为基础 是以高压下的液体为流动相的色谱过程 通常所说的柱层析 薄层层析或纸层析就是经典的液相色谱 所用的固定相为大于100um 的吸附剂 硅胶 氧化铝等 这种传统的液相色谱所用的
  • Dubbo 3.x源码(10)—Dubbo初始化导出/引用模块配置源码

    基于Dubbo 3 1 详细介绍了Dubbo初始化导出 引用模块配置的源码 此前我们学习了Dubbo配置的加载与覆盖的一系列源码 Dubbo 3 x源码 7 Dubbo配置的加载入口源码 Dubbo 3 x源码 8 Dubbo配置中心的加载
  • JeecgBoot Vue2前端国际化语言切换

    JeecgBoot antd Vue2前端国际化语言切换 jeecg官方文档 参考 jeecg前端的国际化解决方案 参考 一 需求场景 后台管理系统 放置一个中英文切换选择按钮 页面切换所选语言后 系统会重新加载 获取对应的语言数据 并且下
  • Git 的origin和master分析

    lt lt 关键是 中英文切换着打字太辛苦了转载请注明出处 gt gt http lishicongli blog 163 com blog static 1468259020132125247302 首先要明确一点 对git的操作是围绕3
  • ArcGIS Maritime Server 开发教程(三)Maritime Service 功能解读

    ArcGIS Maritime Server 开发教程 三 Maritime Service 功能解读 本章导读 ArcGIS Maritime Server 能够以极简的方式发布海图服务 其服务的标准与传统的 MapService 对齐
  • 小白数学建模模型入门(二)

    数学建模模型入门 二 1 图论模型 Dijkstra算法 应用于求初始点到其他所有顶点的最短路径 本质是一种标号法 给赋权图的每一个顶点记一个数 称为顶点的标号 临时标号 称T标号 固定标号 称为P标号 T标号表示从始顶点到该标点的最短路长
  • The last packet sent successfully to the server was 0 milliseconds ago

    今天在弄数据库迁移及部署到客户服务器时 发现启动成功了 但是数据请求超时 赶紧打开日志看一下 报了这样的错 The last packet sent successfully to the server was 0 milliseconds