一介闲人
一介闲人
项目使用Springboot框架通过JPA操作MySQL数据库,数据库版本是8.0.33,在项目启动时报错。
具体报错内容:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
at sun.reflect.NativeConstructorAccessorImpl....
....
....
....
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
at org.hibernate.engine.jdbc.dialect.internal...
...
...
...
在官网搜索public key相关信息,可以查询到数据库有一个AllowPublicKeyRetrieval的参数,默认是false,表示数据库连接不允许客户端从服务端获取公钥。
根据官方信息可知,只需在数据库连接后面添加"$allowPublicKeyRetrieval=true"即可。
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://***.***.***.***:3306/***
?characterEncoding=utf-8
&useSSL=false
&serverTimezone=Asia/Shanghai
&allowPublicKeyRetrieval=true
username: ****
password: ****
评论