mysql 连接出现Public Key Retrieval is not allowed的问题解决

 更新时间:2024年03月15日 10:34:54   作者:用心去追梦  
在MySQL连接中出现“Public Key Retrieval is not allowed”错误,通常是因为在使用安全套接字层(SSL)连接时遇到了问题,本文就来介绍一下解决方法,感兴趣的可以了解一下

在MySQL连接中出现“Public Key Retrieval is not allowed”错误,通常是因为在使用安全套接字层(SSL)连接时遇到了问题。这是因为MySQL 8.0及以上版本对安全性要求更高,特别是在使用密码插件如caching_sha2_password时,默认要求加密通信,并且不允许通过不安全的方式获取服务器的公钥。

解决这个问题的方法有以下几种:

允许公钥检索
在客户端连接字符串或配置文件中设置 allowPublicKeyRetrieval=true。但请注意,这仅用于测试和临时解决方案,因为它会降低连接的安全性。在生产环境中应避免此做法,而是确保正确配置了SSL。

String url = "jdbc:mysql://yourserver:3306/database?useSSL=true&allowPublicKeyRetrieval=true&serverTimezone=UTC";

启用SSL并提供正确的信任证书

  • 在服务器端配置MySQL以支持SSL连接。
  • 客户端需要有与服务器匹配的CA证书,将其添加到客户端的信任存储中。
  • 更新客户端连接URL以包含SSL选项:useSSL=true 并可能需要指定 sslTrustStore 和 sslTrustStorePassword 参数。

更改MySQL服务器上的用户密码插件
如果你希望保持高安全性但又想简化连接过程,可以将MySQL服务器上的用户密码插件改为 mysql_native_password。这样,客户端无需进行复杂的SSL配置即可连接,但这意味着放弃了新版本MySQL默认提供的更强密码安全策略。

执行如下命令来更改用户密码插件:

ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

请根据实际情况选择合适的方法解决问题,并始终优先考虑生产环境中的数据安全性。

到此这篇关于mysql 连接出现Public Key Retrieval is not allowed的问题解决的文章就介绍到这了,更多相关mysql连接问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL实现两张表数据的同步

    MySQL实现两张表数据的同步

    本文将介绍mysql 触发器实现两个表的数据同步,需要学习MySQL的童鞋可以参考。
    2016-10-10
  • Mysql最新版本的数据库安装教程(5.7)

    Mysql最新版本的数据库安装教程(5.7)

    这篇文章主要为大家详细介绍了Mysql最新版本的数据库安装教程,分享了Mysql 5.7安装配置方法,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Mysql SSH隧道连接使用的基本步骤

    Mysql SSH隧道连接使用的基本步骤

    这篇文章主要给大家介绍了关于Mysql SSH隧道连接使用的基本步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • mysql中的utf8与utf8mb4存储及区别

    mysql中的utf8与utf8mb4存储及区别

    本文主要介绍了mysql中的utf8与utf8mb4存储及区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 解决bash: mysql: command not found 的方法

    解决bash: mysql: command not found 的方法

    解决bash: mysql: command not found 的方法,需要的朋友可以参考一下
    2013-03-03
  • Mybatis特殊字符处理的详解

    Mybatis特殊字符处理的详解

    这篇文章主要介绍了Mybatis特殊字符处理的详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • MySQL 5.7.29 + Win64 解压版 安装教程图文详解

    MySQL 5.7.29 + Win64 解压版 安装教程图文详解

    这篇文章主要介绍了MySQL 5.7.29 + Win64 解压版 安装教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • MySQL数据库闭包Closure Table表实现示例

    MySQL数据库闭包Closure Table表实现示例

    本文主要介绍了MySQL数据库闭包Closure Table表实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • MySQL数据库学习之查询操作详解

    MySQL数据库学习之查询操作详解

    这篇文章主要为大家详细介绍一下MySQL数据库中一些查询操作,文中的示例代码讲解详细,对我们学习MySQL有一定帮助,需要的可以参考一下
    2022-07-07
  • mysql单表查询及多表查询命令详解

    mysql单表查询及多表查询命令详解

    这篇文章主要介绍了mysql单表查询及多表查询命令详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论