当前位置: 首页 > news >正文

Public Key Retrieval is not allowed

Public Key Retrieval is not allowed

最近使用 JDBC 连接 MySQL 频繁出现如下报错:
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe

Public Key Retrieval is not allowed
这段代码是一个 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";
    
  2. 如果使用的是 Java 8 及以上版本,可以将 SSL 模式设置为 false ,即在 JDBC 驱动程序中通过添加一个额外属性来关闭 SSL
    String url = "jdbc:mysql://localhost:3306/mydatabase?sslMode=DISABLED";
    
    此时可以不需要 allowPublicKeyRetrieval=true 参数选项。

但其根本原因是 MySQL 使用了 Innovation 版本,而驱动版本不一致导致的

<!-- 低版本驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version>
</dependency>
<!-- 高版本驱动 此版本为 Innovation 版本驱动-->
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.4.0</version>
</dependency>

升级 MySQL 驱动 Innovation 版本后修改 MySQL 数据库连接字符串 URL如下:

  • xm文件
    jdbc:mysql://localhost:3306/db?allowPublicKeyRetrieval=true&amp;useUnicode=true&amp;createDatabaseIfNotExist=true&amp;characterEncoding=UTF8&amp;useSSL=false&amp;serverTimeZone=Asia/Shanghai&amp;sslMode=DISABLED
    
  • 非xml文件
    jdbc:mysql://localhost:3306/db?allowPublicKeyRetrieval=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=UTF8&useSSL=false&serverTimeZone=Asia/Shanghai&sslMode=DISABLED
    

相关文章:

Public Key Retrieval is not allowed

Public Key Retrieval is not allowed 最近使用 JDBC 连接 MySQL 频繁出现如下报错&#xff1a; java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe 这段代码是一个 Java 异常错误信息&#xff0c;其中包含了以下关键信息&#xff1a; 错误类…...

iphone进入恢复模式怎么退出?分享2种退出办法!

iPhone手机莫名其妙的进入到了恢复模式&#xff0c;或者是某些原因需要手机进入恢复模式&#xff0c;但是之后我们不知道如何退出恢复模式怎么办&#xff1f; 通常iPhone进入恢复模式的常见原因主要是软件问题、系统升级失败、误操作问题等导致。那iphone进入恢复模式怎么退出&…...

Leetcode 107:二叉树的层次遍历II

给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&#xff09;。 思路&#xff1a;翻转title102的结果即可。 //层次遍历二叉树public static List<List<Integ…...

LNMP一键安装包

LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQ…...

[机器学习-05] Scikit-Learn机器学习工具包进阶指南:协方差估计和交叉分解功能实战【2024最新】

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…...

多线程的情况下 AopContext.currentProxy()切面代理失效问题

多线程的情况下 AopContext.currentProxy()切面代理失效问题 在多线程环境下&#xff0c;AopContext.currentProxy() 可能会遇到问题&#xff0c;特别是在某些情况下&#xff0c;它无法正确地获取到当前线程的代理对象。这通常发生在以下几种情况&#xff1a; 线程不是由Spri…...

https://是怎么实现的?

默认的网站建设好后都是http访问模式&#xff0c;这种模式对于纯内容类型的网站来说&#xff0c;没有什么问题&#xff0c;但如果受到中间网络劫持会让网站轻易的跳转钓鱼网站&#xff0c;为避免这种情况下发生&#xff0c;所以传统的网站改为https协议&#xff0c;这种协议自己…...

Linux无root配置Node,安装nvm

1. 安装NVM&#xff1a; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # 或者&#xff0c;如果你使用wget wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 对于bash用户&#xff0c;可以运行&…...

蛋糕店做配送小程序的作用是什么

蛋糕烘焙除了生日需要&#xff0c;对喜吃之人来说往往复购率较高&#xff0c;除线下实体店经营外&#xff0c;更多的商家选择线上多种方式获客转化、持续提高生意营收&#xff0c;而除了进驻第三方平台外&#xff0c;构建品牌私域自营店铺也同样重要。 运用【雨科】平台搭建蛋…...

重写muduo之TcpServer

目录 1、Callbacks.h 2、TcpServer.h 3、TcpServer.cc 1、Callbacks.h 回调操作 #pragma once#include <memory> #include <functional>class Buffer; class TcpConnection;using TcpConnectionPtrstd::shared_ptr<TcpConnection>; using ConnectionCall…...

腾讯云服务器之ssh远程连接登录及转发映射端口实现内网穿透(实现服务器访问本地电脑端口)

目录 一、创建密钥绑定实例二、设置私钥权限三、ssh远程连接到服务器四、修改root密码五、端口转发&#xff08;实现服务器访问本地电脑的端口&#xff09; 一、创建密钥绑定实例 创建密钥会自动下载一个私钥&#xff0c;把这个私钥复制到c盘 二、设置私钥权限 1、删除所有用户…...

oracle 9i 行头带有scn的表

oracle 9i 行头带有scn的表 conn scott/tiger drop table t1; drop table t2; create table t1(c varchar2(5)); create table t2(c varchar2(6)) ROWDEPENDENCIES; --t2表每行都有scn,会增加六个字节的开销 alter table t1 pctfree 0; alter table t2 pctfree 0; insert in…...

MySql#MySql安装和配置

目录 一、卸载不需要的环境 二、安装mysql yum 源 三、开始安装 四、如果保证安装成功呢&#xff1f; 五、MySql 启动&#xff01; 六、登录mysql 七、配置文件说明 八、设置开机启动&#xff01; 本次安装是在Linux环境在centos7中完成 首先先将自己切换成root 一、…...

WEB前端复习——HTML

固定格式&#xff1a;开头<!DOCTYPE html> <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>标…...

Java医院绩效管理应用系统源码java+ maven+ avue 公立医院绩效考核管理系统源码 支持二开

Java医院绩效管理应用系统源码java maven avue 公立医院绩效考核管理系统源码 支持二开 医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求&#xff0c;以“工作量为基础的考核方案”为核心思想&#xff0c;结合患者满意度、服务质量、技术难度、工作效率、医德医风…...

湖南知识付费系统开发公司,教育机构如何提高转化率?有哪些途径?

教育行业必须线上线下一起抓。当下教育机构不得不考虑线上招生、线上教学和服务。但是大多数人&#xff1a;没思路、没人才&#xff0c;不知道如何下手?其实线上运营也没那么难&#xff0c;“危机”即“机遇”。教育机构如何提高转化率&#xff1f;有哪些途径&#xff1f; 一、…...

Goland GC

Goland GC 引用Go 1.3 mark and sweep 标记法Go 1.5 三色标记法屏障机制插入屏障删除写屏障总结 Go 1.8 混合写屏障(hybrid write barrier)机制总结 引用 https://zhuanlan.zhihu.com/p/675127867 Garbage Collection&#xff0c;缩写为GC&#xff0c;一种内存管理回收的机制…...

【SRC实战】合成类小游戏外挂漏洞

挖个洞先 https://mp.weixin.qq.com/s/ZnaRn222xJU0MQxWoRaiJg “以下漏洞均为实验靶场&#xff0c;如有雷同&#xff0c;纯属巧合” 合成类小游戏三个特点&#xff1a; 1、一关比一关难&#xff0c;可以参考“羊了个羊” 2、无限关卡无限奖励&#xff0c;可以参考“消灭星星…...

【牛客】SQL206 获取每个部门中当前员工薪水最高的相关信息

1、描述 有一个员工表dept_emp简况如下&#xff1a; 有一个薪水表salaries简况如下&#xff1a; 获取每个部门中当前员工薪水最高的相关信息&#xff0c;给出dept_no, emp_no以及其对应的salary&#xff0c;按照部门编号dept_no升序排列&#xff0c;以上例子输出如下: 2、题目…...

2024年最新趋势跨境电商平台开发需了解的新技术

随着数字化技术的不断演进和全球市场的日益融合&#xff0c;跨境电商平台开发将面临前所未有的挑战和机遇。为了更好地适应并引领这一发展&#xff0c;开发者需要密切关注2024年最新的技术趋势&#xff0c;以确保他们的平台能够在竞争激烈的市场中脱颖而出。本文将对跨境电商平…...

5分钟搞定ECharts Tooltip显示问题:从滚动条到完美适配屏幕的保姆级教程

5分钟搞定ECharts Tooltip显示问题&#xff1a;从滚动条到完美适配屏幕的保姆级教程 第一次用ECharts做数据可视化时&#xff0c;Tooltip的显示问题简直让人抓狂——要么内容太长出现滚动条&#xff0c;要么直接冲出屏幕边界。作为过来人&#xff0c;我整理了这份实战指南&…...

开源入门踩坑全实录:从PR被拒到核心贡献者的全周期避坑指南

根据中国开源软件推进联盟2025年发布的《中国开源开发者生态报告》&#xff0c;国内开源开发者规模已突破1200万&#xff0c;但入门1年内就停止贡献的开发者占比高达78.6%。换句话说&#xff0c;每5个尝试入门开源的新手&#xff0c;就有4个会在一年内彻底放弃。 作为从0起步&a…...

ICEM高效建模技巧:从快捷键到多点创建模式

1. ICEM快捷键&#xff1a;让你的建模效率翻倍 刚开始用ICEM建模那会儿&#xff0c;我总被繁琐的鼠标操作折磨得够呛。直到有天发现隔壁工位的同事建模速度比我快三倍&#xff0c;偷师学艺才知道——原来快捷键才是真正的生产力神器。这里分享几个我每天必用的核心快捷键组合&a…...

Kafka Connect集群管理可视化界面:高效实现多环境连接器配置实战指南

Kafka Connect集群管理可视化界面&#xff1a;高效实现多环境连接器配置实战指南 【免费下载链接】kafka-connect-ui Web tool for Kafka Connect | 项目地址: https://gitcode.com/gh_mirrors/ka/kafka-connect-ui 在Kafka生态系统中&#xff0c;连接器管理一直是数据…...

如何在Windows下使用Rufus轻松格式化ext文件系统:完整指南

如何在Windows下使用Rufus轻松格式化ext文件系统&#xff1a;完整指南 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 还在为在Windows系统下无法直接创建Linux文件系统而烦恼吗&#xff1f;&…...

dry插件系统解析:如何扩展自定义Docker管理功能

dry插件系统解析&#xff1a;如何扩展自定义Docker管理功能 【免费下载链接】dry moncho/dry: dry&#xff08;Docker Run Commands&#xff09;是一款命令行工具&#xff0c;旨在简化对Docker容器的操作管理&#xff0c;提供了一种简洁的方式创建、启动、停止和删除Docker容器…...

NVIDIA Orin AGX开发环境搭建避坑指南:从Ubuntu 22.04到ROS2完整配置流程

NVIDIA Orin AGX开发环境搭建实战&#xff1a;从系统部署到ROS2深度优化 第一次拿到NVIDIA Orin AGX开发套件时&#xff0c;我对着这块巴掌大的计算模块发呆了十分钟——它强大的AI算力与紧凑体积形成的反差令人震撼。但很快现实给了我一盆冷水&#xff1a;官方文档里轻描淡写的…...

OpenClaw三种方式安装:手把手保姆级教程

前置操作 【一】获取API Key 现在很多平台的API Key都有免费额度&#xff0c;阿里云和Kimi的优惠力度大些&#xff0c;大家按需索取。 阿里云百炼 Step01&#xff1a;注册/登录阿里云 Step02&#xff1a;创建并获取API Key 注意&#xff1a;我们要的是API Key&#xff0c;如…...

如何永久保存微信聊天记录:3步实现数据自主管理的完整指南

如何永久保存微信聊天记录&#xff1a;3步实现数据自主管理的完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...

Hunyuan3D-2:全流程3D内容革新方案 创作者的AI驱动型资产生成平台

Hunyuan3D-2&#xff1a;全流程3D内容革新方案 创作者的AI驱动型资产生成平台 【免费下载链接】Hunyuan3D-2 High-Resolution 3D Assets Generation with Large Scale Hunyuan3D Diffusion Models. 项目地址: https://gitcode.com/GitHub_Trending/hu/Hunyuan3D-2 Hunyu…...