问题描述
-
报错场景
SpringBoot项目采用Druid连接池启动时连接数据库失败
-
错误信息
SQLException:Access denied for user 'root'@'localhost' (using password: YES)
原因分析
-
排查最终原因
密码加密问题,使用加密数据库密码的druid jar包版本与项目中使用的jar版本不一致
解决方案
-
查找项目中使用的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