SQLException:Access denied for user ‘root‘@‘localhost‘ (using password: YES)

当SpringBoot项目使用Druid连接池遇到'Access denied for user 'root'@'localhost' (using password: YES)'错误时,问题可能出在数据库密码加密上。错误原因是所用的Druid版本与加密库不匹配。解决方法包括确定项目中Druid的版本,重新加密MySQL数据库密码。使用CMD进入Druid jar包路径,输入相应命令生成新的publicKey和password,并将它们更新到配置文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQLException:Access denied for user 'root'@'localhost' using password: YES

问题描述

  • 报错场景

    SpringBoot项目采用Druid连接池启动时连接数据库失败

  • 错误信息

    
        SQLException:Access denied for user 'root'@'localhost' (using password: YES)
    
    
    

原因分析

  • 排查最终原因

    密码加密问题,使用加密数据库密码的druid jar包版本与项目中使用的jar版本不一致

解决方案

  • 查找项目中使用的druid连接池版本

    Druid连接池版本号

  • 重新生成MySQL数据库密码

    
        # CMD命令进入本地仓库druid的jar包存放路径
        D:\Maven\repository\repositoryStore\com\alibaba\druid\1.1.21
        
        # 其中root为待加密的明文密码
        java -cp ./druid-1.1.21.jar com.alibaba.druid.filter.config.ConfigTools root
    
        # 取生成的publicKey和password到配置文件中即可
    
        privateKey:MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEAnAQB4Pu44AUZdBliQ+BgtWJ0c4xJwqOKwl6e1/hemGvnTgNbkGmODJHQZyqtZTDQRq8Fl7zsMzGYxZKZ0KcOtwIDAQABAkEAm6kz5rHAp2LvHnMlI+v/EXqGDbNu9JAPphaaDYl1eES+gC0EVSIC9EiTb5HrZTPJQwAauj+2QrTx9gS3Z58wQQIhAOOD/OlfYRN+hcjBxnJJIG7EQ07V7VB/lR6VMWS9PQfpAiEAr4xnTa3GQC4A+YkWgzagjmWVrUn75MtzDZKfU5Cz3Z8CIFoqs+/1We605OZ0TWZ7rrvXUmmLBNszRPDy5blr+iUJAiEAoJdPtXcAApxTFfP73UMu87UojOM+hRo9ATCdgkPA1z8CIQDP3foD/gOK+HRcY9UPPIzSuo7poX1jN2QpiNw8Xkx9rw==
        
        publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJwEAeD7uOAFGXQZYkPgYLVidHOMScKjisJentf4Xphr504DW5BpjgyR0GcqrWUw0EavBZe87DMxmMWSmdCnDrcCAwEAAQ==
    
        password:YzeEPI9kHb5VSukFvY4yPIy3BgZxDdodpoEUynYTlbynqByQEi2G35s8R6sVaXbpAMdQzDc8bnN7z/OfAqlyfA==
    
    
    

参考链接

  • 在MySQL登录时出现Access denied for user ‘root’@‘localhost’ (using password: YES) 拒绝访问,并可修改MySQL密码

    https://blog.csdn.net/qq_36675754/article/details/81381341

  • 利用druid对数据库密码进行加密

    https://blog.csdn.net/feifuzeng/article/details/80798934

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Charles Yan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值