mysql 连接出现 Public Key Retrieval is not allowed

这篇具有很好参考价值的文章主要介绍了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;

请根据实际情况选择合适的方法解决问题,并始终优先考虑生产环境中的数据安全性。文章来源地址https://www.toymoban.com/news/detail-843186.html

到了这里,关于mysql 连接出现 Public Key Retrieval is not allowed的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决问题:java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe

    作者简介 :一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。 座右铭 :未来是不可确定的,慢慢来是最快的。 个人主页 :极客李华-CSDN博客 合作方式 :私聊+ 这个专栏内容 :BAT等大厂常见后端java开发面试题详细讲解,更新数目10

    2024年02月15日
    浏览(37)
  • 解决: Cause: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

    在使用 Mybatis 操作数据库时,在单元测试时出现了这个问题 这个报错的意思是:不允许公开密钥检索 这是 Mysql 连接超时的错误,根据异常信息提示,可能是由于连接字符串URL中缺少\\\"allowPublicKeyRetrieval=true\\\"参数导致的。 1、修改MySQL数据库连接字符串URL,在末尾追加\\\"?allowPubl

    2024年02月03日
    浏览(52)
  • Caused by: com...MySQLNonTransientConnectionException: Public Key Retrieval is not allowed 的解决办法

    关于这个是在新开子工程中遇到的,本工程使用的Mysql 8.x的,拉取项目启动时遇见问题: “  com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed ” 如下图: 具体信息: 查了下官网的参数操作表,如下图:  意为: 如果用户使用了 sha256_passwor

    2024年04月16日
    浏览(40)
  • 解决Navicat for MySQL激活时候出现“rsa public key not find”的问题

    场景:点击激活软件Navicat_Keygen_Patch,单击patch 按钮时报错rsa public key not find!!! 试了很多办法,包括断网重新安装,还是无济于事,最后看了一个帖子终于把问题解决了。 原因是:在点击patch按钮时没有生成破解版的RegPrivateKey.pem,及路径C:UsersDefaultAppDataLocalTemp下不存

    2024年04月16日
    浏览(33)
  • 【Ubuntu升级报错】“the following signatures couldn’t be verified because the public key is not available”

    在ubuntu中运行apt-get update时,有时会出现如下报错 如果不去解决,无法继续进行后续的升级操作 这是由apt包系统的安全机制引起的问题,有时系统无法包含所有的key。此处有快速修复的办法,即将缺少的key加进去即可。 观察里面的报错,其实是4EB27DB2A3B88B8B( 请注意,每个人

    2024年02月12日
    浏览(67)
  • 连接MySQL出现Host is not allowed to connect to this MySQL server 解决方法

    翻译: ‘不允许主机连接到此MySQL服务器’ (意思是本地账号连接可以登录,但是远程登陆不行 进入mysql 输入数据库密码 不知道密码可以去查 输入该命令行后看 root@localhost:后的内容就是密码 进入后依次输入下列命令行 最后退出mysql

    2024年02月16日
    浏览(43)
  • Navicat连接数据库出现 is not allowed to connect to this MySQL server 报错

    我们发现防火墙已经关闭了,还会出现这样的情况,那是因为mysql数据只允许自身所在的本机器连接,不允许进行远程连接 (1)在mysql服务安装的机器上进入mysql:  (2)然后使用 use mysql命令,出现如下报错。  (3)如出现上图报错,那是因为没有修改mysql的初始密码,使用

    2023年04月13日
    浏览(48)
  • MySQL出现Specified key was too long; max key length is 3072 bytes解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。   本文主要介

    2024年02月16日
    浏览(40)
  • 解决问题:Key is invalid. You must supply a key in OpenSSH public key format

    背景: 我们在github上面添加秘钥的时候,保存会出现这个错误 Key is invalid. You must supply a key in OpenSSH public key format 原因分析: 这个原因是由于我们直接用工具打开id_rsa文件,然后粘贴复制上去的,但是id_rsa文件被打开之后,格式就会发生变化,所以就会一直报错 解决方案:

    2024年02月11日
    浏览(54)
  • Sourcetree git 出现 The server‘s host key is not cached in the registry问题的解决办法

    省流: 参考博文:https://blog.csdn.net/sryan/article/details/50717528 Sourcetree会自带plink,用命令行切换到plink.exe所在路径,并执行plink git@github.com 命令,根据提示输入y 回车,问题就解决了。本质上是plink问玩家要y还是n,但是在Sourcetree的错误提示那里不能输入。 问题描述: 这几天用

    2024年02月03日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包