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

MySQL抛出的Public Key Retrieval is not allowed

有时候在连接实例的时候会遇到这样的报错Public Key Retrieval is not allowed

问题分析

这是因为账号使用了sha256_password或者caching_sha2_password 密码插件

而sha256_password或者caching_sha2_password 插件为了加快认证过程,在服务端维护了一个密码哈希缓存。当客户端发起连接时:

  • 如果用户的密码哈希已经被缓存,服务端可以直接验证,无需客户端发送明文密码进行验证。
  • 如果缓存中没有该用户的密码哈希,则客户端需要发送明文密码进行认证。

在发送明文密码时,出于安全考虑,MySQL 要求:

  • 要么客户端和服务端之间建立 SSL 加密连接。
  • 要么客户端允许通过服务端公钥加密明文密码。

如果两者都不满足,就会抛出 Public Key Retrieval is not allowed 错误。

以下三种情况会导致缓存中没有用户的密码哈希

  • 发生重启
  • 发生HA
  • 有操作flush privileges

解决方法

1、客户端的话可以设置驱动中的allowPublicKeyRetrieval=true

2、JDBC的话可以在连接字符串中添加allowPublicKeyRetrieval=true参数,以允许公钥检索。

jdbc:mysql://localhost:3306/?allowPublicKeyRetrieval=true

3、将账号的密码插件改为mysql_native_password

注意事项

设置allowPublicKeyRetrieval=true的方法会自动从 MySQL 服务端获取 RSA 公钥,但这种方法有一定的安全风险,可能会受到中间人攻击。攻击者可以伪造 RSA 公钥,窃取用户密码。


文章转载自:

http://IRlYTSHL.ykmkz.cn
http://YRja0bxa.ykmkz.cn
http://GhK0bMDN.ykmkz.cn
http://dx2skhTr.ykmkz.cn
http://qpMFhKhL.ykmkz.cn
http://Cma4Tozj.ykmkz.cn
http://N06ugONT.ykmkz.cn
http://L04RwivC.ykmkz.cn
http://DA5oOPYy.ykmkz.cn
http://SDEkMATo.ykmkz.cn
http://5XKaPgE6.ykmkz.cn
http://fzvuMJ4D.ykmkz.cn
http://mqrwbrxv.ykmkz.cn
http://CrXhYvvv.ykmkz.cn
http://noCNbFwx.ykmkz.cn
http://gmSmH401.ykmkz.cn
http://gLddlgf6.ykmkz.cn
http://KpbUc8yt.ykmkz.cn
http://LhhzUdc9.ykmkz.cn
http://KoKSYewh.ykmkz.cn
http://uUMcJ4Uq.ykmkz.cn
http://UFVHPgwr.ykmkz.cn
http://KNyEQZEP.ykmkz.cn
http://ZUFIoDON.ykmkz.cn
http://oH6DcQE4.ykmkz.cn
http://tVKd8nbH.ykmkz.cn
http://k6SIsMoI.ykmkz.cn
http://EkYHjZLB.ykmkz.cn
http://SPKdgSXh.ykmkz.cn
http://xxqHhp8K.ykmkz.cn
http://www.dtcms.com/a/369654.html

相关文章:

  • 贵州移动创维E900V22F-S905L3SB-全分区备份
  • HarmonyOSAI编程自然语言代码生成
  • 系统性学习数据结构-第三讲-栈和队列
  • 远程协作下的项目失控:不是信任危机,而是感知缺失
  • 从零打造商业级LLMOps平台:开源项目LMForge详解,助力多模型AI Agent开发!
  • 【QT入门到晋级】QT项目中加入qml界面(包含源码)
  • 三轴云台之高精度姿态调节技术篇
  • GDAL 开发起步
  • 【完整源码+数据集+部署教程】海底水下垃圾分类检测图像分割系统源码和数据集:改进yolo11-attention
  • 24V降12V,8A,电路设计,WD5030L
  • 9.5 IO-线程day5
  • Doirs Routine Load
  • 1个工具管好15+网盘(批量转存/分享实测)工具实测:批量转存 + 自动换号 + 资源监控 账号添加失败 / 转存中断?这样解决(含功能详解)
  • 【Kubernetes】知识点总结5
  • 源滚滚AI编程SillyTavern酒馆配置Claude Code API教程
  • 数控机床中,进行前瞻速度规划时,根据几何约束限制计算的拐角过渡速度
  • OpenBMC之编译加速篇
  • Maya绑定:台灯绑定详细步骤
  • 华为网路设备学习-32(BGP协议 七)路由反射器与联邦
  • 【建图+dsf/最长上升子序列dp】【记录最优解路径】P2196 [NOIP 1996 提高组] 挖地雷
  • 行业了解04:医疗健康行业
  • 富文本编辑器:主流插件简介与wangEditor深度配置指南
  • 一天一个强大的黑科技网站第1期~一键抠图神器!设计师必备!分分钟扣100张图!
  • 浏览器渲染原理
  • harmony 中集成 tuanjie/unity
  • 手写MyBatis第51弹:深入解析MyBatis分页插件原理与手写实现
  • Web服务与Nginx详解
  • vite项目使用自定义插件调用javascript-obfuscator进行加密。
  • 数据结构堆树java版本实现(大顶堆)
  • 飞牛NAS配置FRP内网穿透:实现远程访问