SpringBoot从Nacos读取MySQL数据库配置错误:Public Key Retrieval is not allowed的解决方案

 更新时间:2024年04月15日 09:29:18   作者:青花锁  
最近的项目,突然都从MySQL5.7升级到8.0了,有些项目能运行成功,有些项目遇到了问题,启动不成功,显示数据库方面的异常信息,本文给大家介绍了SpringBoot从Nacos读取MySQL数据库配置错误:Public Key Retrieval is not allowed的解决方案,需要的朋友可以参考下

前言

最近的项目,突然都从MySQL5.7升级到8.0了。

有些项目能运行成功,有些项目遇到了问题,启动不成功,显示数据库方面的异常信息。

1、问题描述

在连接到MySQL数据库的时候,报错内容如下:“Public Key Retrieval is not allowed”。

翻译一下报错异常信息:使用springframework.jdbc包,不能获取JDBC连接,PublicKeyRetrieval不支持。

2、解决过程

mysql 8.0 默认使用 caching_sha2_password 身份验证机制 (即从原来mysql_native_password 更改为 caching_sha2_password。)

从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。 客户端不支持新的加密方式。 因此我们需要修改用户的密码和加密方式。

方案一:

在命令行模式下进入mysql,输入以下命令就可以解决问题了:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

或者

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

方案二:

如果我们没有MySQL的管理权限,那么只需在配置数据源的时候直接将属性allowPublicKeyRetrieval设置为true即可。

# spring配置
spring: 
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        loginUsername: admin
        loginPassword: 123456
      datasource:
          # 主库数据源
          master:
            driver-class-name: com.mysql.cj.jdbc.Driver
            url: jdbc:mysql://127.0.0.1:3306/xxxdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=GMT%2B8&allowMultiQueries=true
            username: root
            password: root

总结

实际工作中会遇到各种奇怪的问题,把问题记录下来,能帮助自己以后便捷的查找解决方,同时也希望可以帮到大家。

到此这篇关于SpringBoot从Nacos读取MySQL数据库配置错误:Public Key Retrieval is not allowed的解决方案的文章就介绍到这了,更多相关SpringBoot Nacos读取MySQL报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java设计模式之桥接模式实例详解

    Java设计模式之桥接模式实例详解

    这篇文章主要介绍了Java设计模式之桥接模式,结合实例形式详细分析了桥接模式的概念、功能、Java实现方法及相关注意事项,需要的朋友可以参考下
    2017-09-09
  • java中实现控制台打印sql语句方式

    java中实现控制台打印sql语句方式

    这篇文章主要介绍了java中实现控制台打印sql语句方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 使用spring配置文件.xml的头文件

    使用spring配置文件.xml的头文件

    这篇文章主要介绍了使用spring配置文件.xml的头文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • java JSP开发之Spring中Bean的使用

    java JSP开发之Spring中Bean的使用

    这篇文章主要介绍了java JSP开发之Spring中Bean的使用的相关资料,在Spring中,bean的生命周期就比较复杂,这里就详细介绍下,需要的朋友可以参考下
    2017-08-08
  • springboot大文件上传、分片上传、断点续传、秒传的实现

    springboot大文件上传、分片上传、断点续传、秒传的实现

    本文主要介绍了springboot大文件上传、分片上传、断点续传、秒传的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Java异或技操作给任意的文件加密原理及使用详解

    Java异或技操作给任意的文件加密原理及使用详解

    这篇文章主要介绍了Java异或技操作给任意的文件加密原理及使用详解,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Spring根据URL参数进行路由的方法详解

    Spring根据URL参数进行路由的方法详解

    这篇文章主要给大家介绍了关于Spring根据URL参数进行路由的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起来看看吧。
    2017-12-12
  • Java日常练习题,每天进步一点点(2)

    Java日常练习题,每天进步一点点(2)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • Java新特性之Nashorn_动力节点Java学院整理

    Java新特性之Nashorn_动力节点Java学院整理

    这篇文章主要介绍了Java新特性之Nashorn的相关资料,需要的朋友可以参考下
    2017-06-06
  • 如何使用JWT的SpringSecurity实现前后端分离

    如何使用JWT的SpringSecurity实现前后端分离

    这篇文章主要介绍了使用JWT的SpringSecurity实现前后端分离,登录成功需要返回json数据登录失败需要返回json数据权限不足时返回json数据未登录访问资源返回json数据,需要的朋友可以参考下
    2024-08-08

最新评论