欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > DBeaver Error : Public Key Retrieval is not allowed

DBeaver Error : Public Key Retrieval is not allowed

2025/4/3 16:51:36 来源:https://blog.csdn.net/moshowgame/article/details/146717101  浏览:    关键词: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 参数,指定存放在本地的公钥文件。

    版权声明:

    本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

    我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

    热搜词