news 2026/5/1 11:10:53

Public Key Retrieval is not allowed 连接 MySQL 提示这个

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Public Key Retrieval is not allowed 连接 MySQL 提示这个

Public Key Retrieval is not allowed 连接 MySQL 提示这个

在处理加密和密钥管理时,遇到“Public Key Retrieval is not allowed”这个错误通常是在使用Java数据库连接(JDBC)时,特别是在尝试使用SSL/TLS加密连接时。这个错误通常与MySQL数据库的连接属性有关。

原因

MySQL JDBC驱动在5.1.31版本后默认禁用了公共密钥检索(Public Key Retrieval),这是一种安全措施,以防止中间人攻击。当使用SSL连接到MySQL数据库时,如果需要执行某些依赖于公共密钥的操作(如某些特定的加密功能),就必须显式地允许公共密钥的检索。

解决方案

  1. 允许公共密钥检索

在创建数据库连接时,可以通过设置连接属性allowPublicKeyRetrievaltrue来允许公共密钥的检索。例如,如果你正在使用Java的DriverManager来建立连接,可以这样做:

Stringurl="jdbc:mysql://hostname:3306/dbname?allowPublicKeyRetrieval=true&useSSL=true";Connectionconn=DriverManager.getConnection(url,"username","password");
  1. 使用正确的SSL参数

确保你的连接字符串中包含了正确的SSL参数。例如:

Stringurl="jdbc:mysql://hostname:3306/dbname?useSSL=true&verifyServerCertificate=false&requireSSL=true&allowPublicKeyRetrieval=true";Connectionconn=DriverManager.getConnection(url,"username","password");

这里,verifyServerCertificate=false用于在开发或测试环境中临时绕过证书验证(注意:这应该只在信任的环境中使用,生产环境中应设置为true并确保使用有效的SSL证书)。

  1. 更新MySQL JDBC驱动

如果你使用的是较旧的MySQL JDBC驱动版本,考虑升级到最新版本。新版本的驱动可能已经解决了这个问题或者提供了更好的安全性和灵活性。

总结

通过在连接字符串中添加allowPublicKeyRetrieval=true,你可以解决因公共密钥检索被禁用而导致的连接问题。同时,确保你的应用在生产环境中正确处理SSL和证书验证,以增强安全性。如果你不确定如何配置SSL或证书,建议咨询你的系统管理员或查阅MySQL的官方文档。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:49:31

ROG笔记本显示异常修复:G-Helper色彩配置文件恢复解决方案

ROG笔记本显示异常修复:G-Helper色彩配置文件恢复解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目…

作者头像 李华
网站建设 2026/5/1 8:36:57

7个显卡优化技巧:用NVIDIA Profile Inspector释放游戏性能

7个显卡优化技巧:用NVIDIA Profile Inspector释放游戏性能 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 一、基础认知:掌握显卡优化工具核心价值 如何理解NVIDIA Profile Ins…

作者头像 李华
网站建设 2026/5/1 7:17:55

手柄不兼容PC游戏?虚拟控制器驱动让所有手柄畅玩无阻

手柄不兼容PC游戏?虚拟控制器驱动让所有手柄畅玩无阻 【免费下载链接】ViGEmBus 项目地址: https://gitcode.com/gh_mirrors/vig/ViGEmBus 解决手柄与PC游戏不匹配的终极方案 你是否经历过这样的场景:兴冲冲购买的第三方手柄连接电脑后&#xf…

作者头像 李华
网站建设 2026/5/1 7:21:29

什么是数据压缩

文章目录为什么需要数据压缩数据压缩如何工作数据压缩的典型应用场景数据压缩将压缩数据技术应用到数据通信网络中,可以对广域网传输的报文进行压缩,不增加带宽消耗的同时,扩大数据的传输量,实现网络建设投资回报率的最大化。 为什…

作者头像 李华
网站建设 2026/5/1 9:48:09

解锁跨平台手柄适配:让游戏控制器不再受限

解锁跨平台手柄适配:让游戏控制器不再受限 【免费下载链接】ViGEmBus 项目地址: https://gitcode.com/gh_mirrors/vig/ViGEmBus 副标题:3大场景5个技巧,手柄模拟器与跨平台控制器驱动全攻略 你是否曾遇到这样的困境:新买…

作者头像 李华
网站建设 2026/5/1 7:54:51

UNet性能表现测评,不同硬件下的融合速度测试

UNet性能表现测评,不同硬件下的融合速度测试 1. 测评背景与目标 人脸融合技术正从实验室走向日常应用,但多数用户关心的不是“能不能做”,而是“做得快不快”“效果稳不稳”“在自己机器上跑不跑得动”。本次测评聚焦于 UNet架构的人脸融合…

作者头像 李华