nacos启动报错Caused by: java.lang.IllegalStateException: No DataSource set

查看报错日志nacos.log

Caused by: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed

查看mysql版本

select version();//8.4.0

在nacos配置文件mysql配置中添加参数解决

allowPublicKeyRetrieval=true

 

原因:如果MySQL账户使用的认证模式为sha256_password,则客户端与服务器端在传递信息的时候必须要保护密码,基于一些安全性的原因该参数默认值为false,但是这样就会导致MySQL客户端与服务器端无法正常建立连接。因此,在确保MySQL服务器在一个安全的网络环境下,不会遭受到中间人攻击时可以将该参数值设置为true,这样才能让客户端与服务端正常连接。MySQL官方手册,高版本8.x认证插件caching_sha2_password的功能实际上是插件sha256_password的超集,也是使用sha256_password模式进行用户认证,所以这就跟客户端连接参数allowPublicKeyRetrieval的用法联系在了一起

posted @ 2025-03-21 19:34  白玉神驹  阅读(545)  评论(0)    收藏  举报