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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 解决问题:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe

解决问题: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站也叫极客李华。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
Java 数据安全/隐私保护
java中public、private、protected作用范围
该内容是关于Java中访问修饰符的范围总结:`public`(全局访问)、`protected`(同包及子类访问)、默认(同包访问)、`private`(仅本类访问)。
30 6
|
6月前
|
安全 算法 Oracle
【Java用法】加密异常----Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
【Java用法】加密异常----Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
87 0
|
7月前
|
JSON Java 数据格式
Java将json中key值下划线转为驼峰格式
Java将json中key值下划线转为驼峰格式
347 1
|
7月前
|
安全 算法 Java
Java报错:java.security.InvalidKeyException: Illegal key size
Java报错:java.security.InvalidKeyException: Illegal key size
113 0
|
4月前
|
存储 前端开发 Java
Java【代码分享 13】前端动态添加一条记后端使用JDK1.8实现map对象根据key的部分值进行分组(将map对象封装成指定entity对象)
Java【代码分享 13】前端动态添加一条记后端使用JDK1.8实现map对象根据key的部分值进行分组(将map对象封装成指定entity对象)
25 0
|
4月前
|
Oracle Java 关系型数据库
Java【代码分享 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写)
Java【代码分享 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写)
67 0
|
4月前
|
SQL Oracle 关系型数据库
SQL PRIMARY KEY 约束- 唯一标识表中记录的关键约束
SQL NOT NULL 约束用于强制确保列不接受 NULL 值。这意味着该字段始终包含一个值,而不允许插入新记录或更新记录时不提供此字段的值。
95 0
|
4月前
|
SQL Oracle 关系型数据库
SQL FOREIGN KEY 约束- 保障表之间关系完整性的关键规则
SQL FOREIGN KEY 约束用于防止破坏表之间关系的操作。FOREIGN KEY 是一张表中的字段(或字段集合),它引用另一张表中的主键。具有外键的表称为子表,具有主键的表称为被引用表或父表。
87 0
SQL FOREIGN KEY 约束- 保障表之间关系完整性的关键规则
|
4月前
|
Java 数据库连接 mybatis
AnnotationFormatError: Invalid default: public abstract java.lang.Class org.mybatis.spring.annotatio
AnnotationFormatError: Invalid default: public abstract java.lang.Class org.mybatis.spring.annotatio
80 0
|
6月前
|
Java C++
java一个文件只能有一个公有类的解决方法。 用公有静态内部类。 public static。 类似于C++的命令空间。
java一个文件只能有一个公有类的解决方法。 用公有静态内部类。 public static。 类似于C++的命令空间。