记录一次 MySQL:NonTransientConnectionException: Public Key Retrieval is not allowed 异常

业务场景: 启动web服务不成功,控制台输出 NonTransientConnectionException: Public Key Retrieval is not allowed 异常

根据报错意思 不允许公开密钥检索 的意思,我以为是因为连接方式错误,遂增加

useSSL=false

allowPublicKeyRetrieval=true

链接配置,企图解决报错原因,但是依然出现上述报错,没有解决我的问题

查询通过百度、谷歌搜索解决方案,绝大部分解决方案都是复制粘贴,都说是因为MYSQL8.0的版本导致的,猜测的原因都是 Public Key Retrieva 公共 key 检索没有被允许,猜测可能是连接设置了不允许的情况 

而给出的解决方式依然是上诉的 修改链接配置     但我的项目中即便增加配置依然无法启动

最后根据提取NonTransientConnectionException中的关键字 Connection 判断导致报错的原因肯定是因为连接配置导致的,而数据库我们不能动,只能从链接配置上找原因

最后检查链接配置时发现当前项目使用的Mysql连接以来的版本是5.1.4版本,而数据库是8.0.19版本,猜测导致问题的原因可能是因为低版本的配置文件无法连接高版本的数据库

修改以来版本后,再次启动 这次报错变为

The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone

增加连接配置

&serverTimezone=Asia/Shanghai

再次启动,服务器启动成功

总结:NonTransientConnectionException 是Mysql连接配置异常,具体异常的原因肯定和连接配置强相关,因此在寻找问题的时候可以从连接配置和版本角度出发

希望能解决大家遇到的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值