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

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.dtcms.com/a/99601.html

    相关文章:

  • 可视化图解算法: 二叉树的前序遍历
  • 算法-前缀和与差分
  • 【hadoop】远程调试环境
  • 用Python打造智能宠物:强化学习的奇妙之旅
  • 计算机三级信息安全部分英文缩写
  • 【MyBatis】MyBatis 操作数据库
  • Windows学习笔记(4)关于MITRE
  • 解决 FFmpeg 使用 C/C++ 接口时,解码没有 shell 快的问题(使用多线程)
  • 用Python实现资本资产定价模型(CAPM)
  • ubuntu 安装mysql
  • Python 中列表(List)、元组(Tuple)、集合(Set)和字典(Dict)四大数据结构的完整对比
  • macOS Jdk1.8安装(目前主流版本的jdk)
  • 【漫话机器学习系列】163.方差膨胀因子(Variance Inflation Factor, VIF)
  • Spring 通过多种方式实现使用线程
  • 在用redis当中可能遇到的问题解决方案以及redis中的一些名词解释
  • HTML 标签类型全面介绍
  • docker-compese 启动mysql8.0.36与phpmyadmin,并使用web连接数据库
  • Reactive编程:数据流和观察者
  • MySQL多表查询实验
  • c++-引用
  • 【STM32】WDG看门狗(学习笔记)
  • 积分赛——串口控制指示灯
  • MySQL排序详解
  • vue3 响应式系统指南
  • 无人机中继传输数据链技术,(无人机+自组网)远距离传输技术实现详解
  • 大唐杯02 DTM.PX4.016
  • 企业级知识库建设:自建与开源产品集成的全景解析 —— 产品经理、CTO 与 CDO 的深度对话
  • Python基础知识第二天:从格式化到流程控制
  • VSCode Java 单元测试没有运行按钮
  • 代码随想录day2 数组总结