小工具知识网

当前位置: 首页 > 行业知识 > 【MySQL系列】Public Key Retrieval is not allowed

行业知识

【MySQL系列】Public Key Retrieval is not allowed

2026-11-07 21:18:09 来源:互联网转载

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录
      • 1. 问题背景
        • 2. 错误原因
        • 3. 解决方案
          • 3.1. 在 JDBC 连接串中加入 useSSL=false 参数
            • 3.2. 在 JDBC 连接串中加入 allowPublicKeyRetrieval=true 参数
            • 4. 结语

              解析禁用 SSL/TLS 协议传输导致的公钥检索问题

              在网络通信中,安全性是至关重要的,尤其是在数据传输涉及敏感信息时。SSL/TLS 协议是保障数据传输安全的重要手段之一。然而,在一些特定场景下,禁用 SSL/TLS 协议传输可能会引发一系列问题,其中之一便是“Public Key Retrieval is not allowed”(公钥检索不被允许)的错误。本文将探讨此错误的原因、可能遇到的场景以及解决方案。

              1. 问题背景

              “Public Key Retrieval is not allowed”错误通常在客户端与服务器端的通信中出现。当 SSL/TLS 协议被禁用时,客户端无法通过正常的方式获取服务器的公钥,因而引发此错误。这个问题的根源在于,客户端在没有 SSL/TLS 协议的保护下,无法主动获取服务器的公钥,而服务器端也不会主动提供。这一情况可能出现在以下场景:

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

                这一错误的产生主要是由于 SSL/TLS 协议的禁用所致。在安全的 SSL/TLS 通信中,客户端可以通过 SSL 握手过程获取服务器的公钥,从而确保通信的安全性。然而,当 SSL/TLS 协议被禁用时,客户端无法通过这一过程获取服务器的公钥,而此时又没有其他途径主动获取公钥,导致了“Public Key Retrieval is not allowed”错误的出现。

                3. 解决方案

                针对“Public Key Retrieval is not allowed”错误,我们可以采取一些解决方案来解决或避免这一问题的发生:

                3.1. 在 JDBC 连接串中加入 useSSL=false 参数

                JDBC 是 Java Database Connectivity 的缩写,用于 Java 程序与数据库进行连接和操作。在 JDBC 连接数据库时,可以通过在连接串中添加参数来配置连接的属性。其中,将 useSSL 参数设置为 false 可以禁用 SSL/TLS 协议,从而避免“Public Key Retrieval is not allowed”错误的发生。

                3.2. 在 JDBC 连接串中加入 allowPublicKeyRetrieval=true 参数

                除了禁用 SSL/TLS 协议外,还可以通过在 JDBC 连接串中添加 allowPublicKeyRetrieval 参数并设置为 true 来允许公钥检索。这样一来,即使禁用了 SSL/TLS 协议,客户端仍然可以通过此参数获取服务器的公钥,从而避免“Public Key Retrieval is not allowed”错误。

                4. 结语

                在网络通信中,安全始终是首要考虑的因素之一。禁用 SSL/TLS 协议虽然在某些场景下是必要的,但也可能带来一些安全隐患,如“Public Key Retrieval is not allowed”错误。为了解决这一问题,我们可以采取一些措施,如在 JDBC 连接串中配置参数来调整连接属性,从而确保通信的安全性和稳定性。同时,我们也应该根据具体的场景和需求,谨慎地选择是否禁用 SSL/TLS 协议,以达到最佳的安全与效率的平衡。

                通过上述措施,我们可以有效地解决“Public Key Retrieval is not allowed”错误带来的问题,保障网络通信的安全和稳定性,为应用程序的正常运行提供可靠的保障。

                觉得有用的话点个赞 呗。

                ❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!

                如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!

                自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

                深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

                因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

                既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

                由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

                如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)

                且后续会持续更新**

                如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)

                [外链图片转存中…(img-Ax1gDI5W-1712869787080)]

上一篇:传奇服务器连不上怎么回事?

下一篇:系统怎么做服务器配置?