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

mysql 连接出现 Public Key Retrieval is not allowed

在MySQL连接中出现“Public Key Retrieval is not allowed”错误,通常是因为在使用安全套接字层(SSL)连接时遇到了问题。这是因为MySQL 8.0及以上版本对安全性要求更高,特别是在使用密码插件如caching_sha2_password时,默认要求加密通信,并且不允许通过不安全的方式获取服务器的公钥。

解决这个问题的方法有以下几种:

  1. 允许公钥检索
    在客户端连接字符串或配置文件中设置 allowPublicKeyRetrieval=true。但请注意,这仅用于测试和临时解决方案,因为它会降低连接的安全性。在生产环境中应避免此做法,而是确保正确配置了SSL。
String url = "jdbc:mysql://yourserver:3306/database?useSSL=true&allowPublicKeyRetrieval=true&serverTimezone=UTC";
  1. 启用SSL并提供正确的信任证书

    • 在服务器端配置MySQL以支持SSL连接。
    • 客户端需要有与服务器匹配的CA证书,将其添加到客户端的信任存储中。
    • 更新客户端连接URL以包含SSL选项:useSSL=true 并可能需要指定 sslTrustStoresslTrustStorePassword 参数。
  2. 更改MySQL服务器上的用户密码插件
    如果你希望保持高安全性但又想简化连接过程,可以将MySQL服务器上的用户密码插件改为 mysql_native_password。这样,客户端无需进行复杂的SSL配置即可连接,但这意味着放弃了新版本MySQL默认提供的更强密码安全策略。

执行如下命令来更改用户密码插件:

ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

请根据实际情况选择合适的方法解决问题,并始终优先考虑生产环境中的数据安全性。

相关文章:

  • Android自动化测试实践:uiautomator2 核心功能与应用指南
  • 学习伦敦金技术分析的具体步骤是什么?
  • 第10天:字典和集合任务
  • 阿里云 CosyVoice 语音合成大模型 API 实践
  • HNU电子测试平台与工具2_《计算机串口使用与测量》
  • 视频监控汇聚平台LntonCVS视频监控业务平台具体有哪些功能?
  • 20240702在vmware17.5虚拟机中让ubuntu22.04使用主机的代理上网
  • [图解]SysML和EA建模住宅安全系统-07-to be块定义图
  • 【UML用户指南】-26-对高级行为建模-状态图
  • DC/AC电源模块:为智能家居设备提供恒定的电力供应
  • 深入探索Scala的类型推断机制
  • 【MySQL备份】Percona XtraBackup加密备份实战篇
  • 粤港联动,北斗高质量国际化发展的重要机遇
  • 中间包烘烤器控制
  • 力扣1124.表现良好的最长时间段
  • 《Java编程思想》读书笔记-对象导论
  • Akka系列(七):Actor持久化之Akka persistence
  • docker-consul
  • input的行数自动增减
  • javascript从右向左截取指定位数字符的3种方法
  • js数组之filter
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • spring boot下thymeleaf全局静态变量配置
  • use Google search engine
  • 闭包,sync使用细节
  • 码农张的Bug人生 - 见面之礼
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 算法系列——算法入门之递归分而治之思想的实现
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 小程序01:wepy框架整合iview webapp UI
  • 你对linux中grep命令知道多少?
  • Spring第一个helloWorld
  • # 透过事物看本质的能力怎么培养?
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (1)(1.9) MSP (version 4.2)
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (2020)Java后端开发----(面试题和笔试题)
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (8)STL算法之替换
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (poj1.2.1)1970(筛选法模拟)
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (ros//EnvironmentVariables)ros环境变量
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (排序详解之 堆排序)
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (区间dp) (经典例题) 石子合并
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • .net FrameWork简介,数组,枚举
  • .NET Standard 的管理策略
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .net对接阿里云CSB服务
  • .NET中统一的存储过程调用方法(收藏)
  • :not(:first-child)和:not(:last-child)的用法