当我试图在我的java spring应用程序中执行mysql文件时,或者当我试图创建一个方法来执行像“select * from table”这样的命令时,或者创建一个表时
CREATE TABLE person (
id INT NOT NULL AUTO_INCREMENT,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
我得到公钥检索不允许的错误
我尝试从DataGrip和属性文件中将allowPublicKeyRetrieval更改为true
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/pjp_db?useSSL=true&allowPublicKeyRetrieval=true
但我仍然得到相同的错误这是属性文件
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/pjp_db?useSSL=true&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=Remxarnp2002
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.maximum-pool-size=10
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=update
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration
spring.jpa.show-sql=true
spring.flyway.baseline-on-migrate=true
1条答案
按热度按时间s4n0splo1#
除了在数据库连接URL中设置“allowPublicKeyRetrieval=true”并重新启动应用程序外,还可以尝试在连接URL中将“useSSL”属性设置为“false”。此属性禁用SSL加密,SSL加密有时会干扰公钥的检索。
您也可以尝试通过添加“serverSslCert”属性在连接URL中显式指定SSL证书。例如:
确保SSL证书的路径正确,并且服务器上存在该文件。
如果这些解决方案都不起作用,您可能需要检查您的MySQL服务器配置,以确保其正确配置为支持SSL连接和公钥检索。您可以参考MySQL文档或咨询MySQL管理员以获得有关此方面的指导。