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

DBeaver Error : Public Key Retrieval is not allowed

问题背景

使用DBeaver链接MySQL9.0时发生改错误,但是之前是可以连接的。

问题分析

导致“Public Key Retrieval is not allowed”主要是由于当禁用 SSL/TLS 协议传输后,客户端会使用服务器的公钥进行传输,默认情况下客户端不会主动去找服务器拿公钥,此时就会出现上述错误。

大致的场景如下:

  1. 新建数据库用户,首次登录;
  2. 数据库的用户名、密码发生改变后登录;
  3. 服务器端调用 FLUSH PRIVELEGES 指令刷新服务器缓存。

     解决方案

    针对上述错误,有如下的解决方案:

    一、针对DBeaver等,可以通过驱动属性进行设置,把allowPublicKeyRetrieval设置为TRUE即可

    二、针对JDBC连接场景 

    1. 在条件允许的情况下,不要禁用 SSL/TLS 协议,即不要在 CLI 客户端使用--ssl-mode=disabled,或在 JDBC 连接串中加入 useSSL=false;
    2. 如果必须禁用 SSL/TLS 协议,则可以尝试使用 CLI 客户端登录一次 MySQL 数据库制造登录缓存;
    3. 如果必须禁用 SSL/TLS 协议,则可以通过增加如下参数允许客户端获得服务器的公钥:
    • 在 JDBC 连接串中加入 allowPublicKeyRetrieval=true 参数;
    • 在 CLI 客户端连接时加入--get-server-public-key 参数;
    • 在 CLI 客户端连接时加入--server-public-key-path=file_name 参数,指定存放在本地的公钥文件。

    http://www.kler.cn/a/617830.html

    相关文章:

  • 如何在 Postman 中配置并发送 JSON 格式的 POST 请求?
  • MAC安装docker 后提示com.docker.vmnetd”将对您的电脑造成伤害
  • vxe-table 设置单元格可编辑无效问题解决
  • Turtle事件处理(键盘与鼠标交互)
  • 算法 | 河马优化算法原理,公式,应用,算法改进及研究综述,matlab代码
  • 【UE5.3.2】初学1:适合初学者的入门路线图和建议
  • SQL IF(xxx, 1, 0) 窗口函数
  • Windows数字取证中ActivityCache(活动缓存)
  • 2025年CNG 汽车加气站操作工考试练习题库
  • Selenium文件上传
  • Error in torch with streamlit
  • IntelliJ IDEA创建Maven工程
  • C#里使用C#语言作为脚本运行的方法
  • 自动关机监控器软件 - 您的电脑节能助手
  • vmware 创建win10 系统,虚拟机NAT网络设置
  • 鸿蒙HarmonyOS NEXT界面如何一次开发多端部署
  • 【力扣hot100题】(012)最大子数组和
  • 力扣刷题1049. 最后一块石头的重量 II
  • No spring.config.import property has been defined
  • 改bug制造bug...