_(:△」∠)_ 2024-03-08 00:01 采纳率: 45.5%
浏览 29
已结题

报错 java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)

在idea中用内置的数据库连接测试显示成功。

img


但测试接口时报错:java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)

img

img

img

img


这是我的配置

img

img

  • 写回答

2条回答 默认 最新

  • 关注

    _(:△」∠)_ 上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    从错误信息可以看出,Java应用程序在尝试连接MySQL数据库时遇到了权限问题。错误提示为"Access denied for user ''@'localhost' (using password: YES)",这通常意味着用户名或密码不正确,或者用户没有足够的权限访问指定的数据库。

    针对这个问题,可以按照以下步骤排查和解决:

    1. 检查数据库连接配置

      • 根据提供的信息,你配置的用户名应该是fihis user,但在错误日志中显示的是空字符串''@'localhost',这意味着在实际应用运行时没有获取到正确的用户名。请确保你的Spring Boot配置文件(application.yml 或 application.properties)中数据库连接信息里的用户名设置无误。
        spring:
          datasource:
            username: fihis_user # 确保这里的用户名是正确的
            password: root
            url: jdbc:mysql://localhost:3306/fihis_user?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
        
    2. 确认数据库用户权限

      • 登录MySQL服务器,验证fihis_user用户是否具有对fihis_user数据库的访问权限,如果没有,请赋予相应的权限。
    3. 测试数据库连接

      • 使用上述配置信息,在命令行或者其他工具中手动尝试连接MySQL,以确认这些凭据可以正常工作。
    4. 清理并重新启动应用

      • 清理可能存在的缓存或者重启你的应用程序,确保新配置能够生效。
    5. 检查代码中的注入问题

      • 如果配置文件中的用户名已经正确,但程序依然使用空字符串进行连接,那么可能是代码层面的问题,例如Spring框架自动注入时未正确读取到配置信息,需要检查相关类中数据库连接的初始化部分。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月8日

悬赏问题

  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥15 jdk环境变量配置,cmd中Javac运行不了,找不到问题求解答
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP