解决问题:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe

这篇具有很好参考价值的文章主要介绍了解决问题:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 作者简介:一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。
  • 座右铭:未来是不可确定的,慢慢来是最快的。
  • 个人主页:极客李华-CSDN博客
  • 合作方式:私聊+
  • 这个专栏内容:BAT等大厂常见后端java开发面试题详细讲解,更新数目100道常见大厂java后端开发面试题。
  • 我的CSDN社区:https://bbs.csdn.net/forums/99eb3042821a4432868bb5bfc4d513a8
  • 微信公众号,抖音,b站等平台统一叫做:极客李华,加入微信公众号领取各种编程资料,加入抖音,b站学习面试技巧,职业规划

解决问题:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe

这段代码是一个 Java 异常错误信息,其中包含了以下关键信息:

  • 错误类型:java.sql.SQLNonTransientConnectionException
  • 错误描述:Public Key Retrieval is not allowed.
  • 抛出异常的位置:com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)

根据异常信息提示,这是 MySQL 数据库连接时出现的问题。更具体地说,可能是由于连接字符串 URL 中缺少 “allowPublicKeyRetrieval=true” 参数导致的。

为了解决该异常,可以尝试采取以下几种方法:

  1. 修改 MySQL 数据库连接字符串 URL,在末尾追加 “?allowPublicKeyRetrieval=true” 参数。如:
String url = "jdbc:mysql://localhost:3306/mydatabase?allowPublicKeyRetrieval=true&useSSL=false";
  1. 如果使用的是 Java 8 及以上版本,可以将 SSL 模式设置为“false”,即在 JDBC 驱动程序中通过添加一个额外属性来关闭 SSL:
String url = "jdbc:mysql://localhost:3306/mydatabase?sslMode=DISABLED";

此时可以不需要"allowPublicKeyRetrieval=true"参数选项。

  1. 更新 MySQL Connector/J 驱动到最新版本。如果您当前正在使用旧版本的 MySQL Connector/J 驱动,则建议您更新驱动程序到最新版本并重试连接,因为较新版本的驱动程序可能会修复一些与公钥检索相关的问题。

如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源,如何写出可以让大厂面试官眼前一亮的简历,让大家更好学习编程,我的抖音,B站也叫极客李华。文章来源地址https://www.toymoban.com/news/detail-550759.html

到了这里,关于解决问题:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 已解决java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying e

    已解决java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: 下滑查看解决方法 java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception 是一个

    2024年02月03日
    浏览(47)
  • 项目报错:java.sql.SQLNonTransientConnectionException:Could not create connection to database server解决办法

    1.在使用java连接数据库JDBC时,出现报错java.sql.SQLNonTransientConnectionException: Could not create connection to database server. 2.问题原因:mysql版本问题,需要下载对应的mysql版本,而且要下载对应mysql-connector的jar包版本。 3.win+r 输入cmd,查看mysql版本号. 4.下载对应的mysql版本,下载地址:ht

    2024年02月13日
    浏览(59)
  • java.sql.SQLNonTransientConnectionException

    今天执行定时任务批量删除表中数据时,爆出了如下错误: 通过查阅网上资料,通过如下方式解决 查到的 max_connections 的值为151 将 max_connections 设置为1000就不报错了 查看当前系统连接状态 显示的信息时来自information_schema.processlist 表 可以看到有大量的Sleep状态的连接 因前端数

    2024年02月08日
    浏览(33)
  • Public Key Retrieval is not allowed解决

    一、导致“Public Key Retrieval is not allowed”原因 当禁用 SSL/TLS 协议传输后,客户端会使用服务器的公钥进行传输,默认情况下客户端不会主动去找服务器拿公钥,进而会出现错误。 出现 Public Key Retrieval 的场景可以概括为: 禁用 SSL/TLS 协议传输切当前用户在服务器端 没有登录缓

    2024年01月23日
    浏览(39)
  • 解决 MySQL 连接错误:“Public Key Retrieval is not allowed“

    在使用 JDBC 连接 MySQL 数据库时,可能会遇到一个常见的错误:“Public Key Retrieval is not allowed”。这篇博客将解释这个错误的原因,并提供一种有效的解决方案。 当尝试使用 SSL 连接到 MySQL 数据库时,JDBC 驱动可能需要验证服务器的身份。在这个过程中,如果未配置好 SSL 或者

    2024年02月01日
    浏览(51)
  • java.sql.SQLNonTransientConnectionException: Could not create connection to database server

    在搭建springboot项目时,整合JdbcTemplate和MyBatis连接数据库报错,报错为: java.sql.SQLNonTransientConnectionException: Could not create connection to database server 由于报错中没有具体的报错信息,我不知道究竟什么原因导致无法连接数据库,通过百度,收集了大家有关此报错信息的原因,大致分

    2024年02月09日
    浏览(57)
  • Caused by: com...MySQLNonTransientConnectionException: Public Key Retrieval is not allowed 的解决办法

    关于这个是在新开子工程中遇到的,本工程使用的Mysql 8.x的,拉取项目启动时遇见问题: “  com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed ” 如下图: 具体信息: 查了下官网的参数操作表,如下图:  意为: 如果用户使用了 sha256_passwor

    2024年04月16日
    浏览(39)
  • java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempt

    这个异常 java.sql.SQLNonTransientConnectionException 表示尝试创建到数据库服务器的连接时发生了非暂时性的错误,而且在尝试了3次重连之后仍然失败,因此放弃连接。 错误原因可能包括但不限于以下几点: 数据库服务器未运行或不可达:请检查数据库服务器是否正在运行,并且客

    2024年04月14日
    浏览(49)
  • 【MySQL异常解决】Caused by: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not

    Java Spring Boot 项目启动时连接数据库控制台报错: Caused by: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed 在MySQL官方网站里的一个 MySQL Forums 下找到了解决方案。解决方案如下: 将下面的keyValue添加到 spring.datasource.url 后面即可。 如下图所示: 可以查看官方

    2024年02月13日
    浏览(40)
  • Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry ‘xxx‘ for key ‘xxx‘错误的解决方法

    今天写好 导入hive表 的接口,如下代码所示: 启动 postman 访问该接口,确报出如下错误: 错误信息比较多,我们就截取如上重要的信息: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \\\'missionMockId-x01\\\' for key \\\'idx_misstion_id_deleted\\\' 。 根据 java.sql.SQLIntegrityConstraintViolationExce

    2024年02月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包