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

解决MySql8报错:Public Key Retrieval is not allowed

该错误 com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed 是由于 MySQL 8.x 使用了新的默认身份验证插件 caching_sha2_password,而客户端没有允许从服务器获取公钥进行身份验证。

解决方案

方法一:修改数据库用户认证方式(推荐)

将 MySQL 用户的认证方式从 caching_sha2_password 改为 mysql_native_password。
执行以下 SQL:

ALTER USER 'your_username'@'your_host' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;

替换 your_username、your_host 和 your_password 为你实际使用的值。

方法二:允许公钥检索(Public Key Retrieval)

在 JDBC 连接字符串中添加参数 allowPublicKeyRetrieval=true,示例如下:

jdbc:mysql://localhost:3306/shop-order?&allowPublicKeyRetrieval=trueuseUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
方法三:使用 SSL 安全连接(生产环境推荐)

启用 SSL 连接并配置好证书,以支持 caching_sha2_password 握手流程。

 

http://www.dtcms.com/a/276190.html

相关文章:

  • 六年级数学知识边界总结思考-上册
  • 苍穹外卖项目日记(day05)
  • JavaScript加强篇——第六章 定时器(延时函数)与JS执行机制
  • matplotlib:散点图
  • CCF CSP第一轮认证一本通
  • 【Fargo】发送一个rtp包的过程3:为什么媒体包发送端检测到扩展,接收端检测不到
  • Rail开发日志_7
  • 9.3 快速调用与标准调用
  • 串口连接工控机
  • Gameplay - 独立游戏Celeste的Player源码
  • 失败的面试经历二(ʘ̥∧ʘ̥)
  • 【赵渝强老师】国产数据库TiDB的代理路由:TiProxy
  • K3S滚动发布Jar
  • TCP详解——各标志位
  • 字母异位词分组
  • 闲庭信步使用图像验证平台加速FPGA的开发:第十一课——图像均值滤波的FPGA实现
  • 家用智能摄像机PRV文件删除的恢复方法
  • 牛客网50题
  • word转pdf、pdf转word在线工具分享
  • C#调用Matlab生成的DLL
  • C#枚举:从基础到高级的全方位解析
  • NLP分词notes
  • 用一张“冰裂纹”石墨烯薄膜,让被动散热也能做 AI 推理——基于亚波长裂纹等离激元的零功耗温度-逻辑门
  • 深度学习图像分类数据集—铜片划痕识别分类
  • 创客匠人:解析创始人 IP 打造对知识变现的深层赋能
  • position: fixed和sticky的区别
  • 子数组最大平均数 I
  • Dataset类代码实战
  • 【LeetCode 热题 100】25. K 个一组翻转链表——迭代+哨兵
  • Spring AOP 是如何生效的(入口源码级解析)?