spring 我一直得到公钥检索是不允许的错误

gcxthw6b  于 2023-04-04  发布在  Spring
关注(0)|答案(1)|浏览(126)

当我试图在我的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
s4n0splo

s4n0splo1#

除了在数据库连接URL中设置“allowPublicKeyRetrieval=true”并重新启动应用程序外,还可以尝试在连接URL中将“useSSL”属性设置为“false”。此属性禁用SSL加密,SSL加密有时会干扰公钥的检索。
您也可以尝试通过添加“serverSslCert”属性在连接URL中显式指定SSL证书。例如:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/pjp_db?useSSL=true&allowPublicKeyRetrieval=true&serverSslCert=/path/to/certificate.pem

确保SSL证书的路径正确,并且服务器上存在该文件。
如果这些解决方案都不起作用,您可能需要检查您的MySQL服务器配置,以确保其正确配置为支持SSL连接和公钥检索。您可以参考MySQL文档或咨询MySQL管理员以获得有关此方面的指导。

相关问题