当前位置: 首页 > 知识库问答 >
问题:

连接Spring Boot MySql:不允许检索公钥

丌官嘉勋
2023-03-14

今年6月初,我运行了一个应用程序,没有出现任何问题。今天再次尝试后,控制台中出现以下错误:

com.mysql.jdbc.exceptions.jdbc4. MySQLNon瞬态连接异常:不允许公钥检索

有没有关于如何修复的想法?

我对此进行了研究,但没有发现任何特定于Spring Boot应用程序的内容。

应用程序中的设置。属性:

spring.mvc.view.prefix=/WEB-INF/views/

spring.mvc.view.suffix=.jsp

spring.datasource.url = jdbc:mysql://localhost:3306/testdb?verifyServerCertificate=false&useSSL=false&requireSSL=false&useJDBCCompliantTimezoneShift=true&serverTimezone=UTC
spring.datasource.username = root
spring.datasource.password = 


spring.jpa.show-sql = true 


spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update


spring.jpa.hibernate.naming.implicit-strategy = org.hibernate.cfg.ImprovedNamingStrategy

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect

com.mysql.jdbc.exceptions.jdbc4. MySQLNon瞬态连接异常:不允许公钥检索

共有2个答案

司寇正志
2023-03-14

可能的解决方案:

1-检查mysql是否使用端口3306,并且它是否处于活动状态。

2-确保您的mysql用户名和密码正确。

3-如果您使用的是Mysql 8及以上版本,那么您可以通过此链接检查身份验证插件的更改

百里承业
2023-03-14

使用以下内容

jdbc:mysql://localhost:3306/payphone?useSSL=false&useJDBCComplaintTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
 类似资料:
  • 问题内容: 我尝试使用连接器8.0.11将MySql数据库与Java连接。一切似乎都还可以,但是我有一个例外: 线程“主”中的异常java.sql.SQLNonTransientConnectionException: 不允许公共密钥检索 堆栈跟踪: 连接器管理器: 问题答案: 您应该将客户端选项添加到mysql- connector中,以允许客户端自动从服务器请求公共密钥。请注意,这可能允许恶意

  • 我尝试使用连接器8.0.11将MySQL数据库与Java连接起来。一切似乎都很好,但我得到了这个例外: 以下是我的连接管理器课程:

  • 我目前正在通过视频教程学习Servlet和Jsp,我正在尝试连接到MySql数据库,但这样做很困难,我已经按照教程中采取的所有步骤进行了操作,但仍然无法连接,起初我得到的异常是java.sql.SQLException:没有找到适合com.mysql.jdbc.驱动程序的驱动程序java.sql.DriverManager 我在网上检查了一个可能的解决方案,但没有一个对我有用,现在我将MySQL-

  • 我有一个spring boot项目在java8上运行,在我安装mysql8服务器并尝试连接之后,我发现了错误 最初我安装了mysql5,它工作正常,但是当我安装mysql8服务器时,我收到了错误消息。mysql。jdbc。例外情况。jdbc4.MySQLNonTransientConnectionException:不允许检索公钥 。 我确实使用了

  • 我有一个连接到MySQL的spring boot应用程序,它工作得很好,除非它被停靠,当它停靠时,会抛出一个异常: 我试图将连接字符串更改为 但是没有发生任何事情,仍然导致同样的异常。 Dockerfile文件:

  • 在通过HTTPS访问REST api时,我希望使用Spring RestTemplate使用持久http连接。我不能使它工作;为每个请求创建一个新的连接,并且每次都进行SSL握手。有没有可能通过https使用RestTemplate进行可重用连接,如果有的话,如何配置它? 我设置了一个RestTemplate来通过HTTPS发出请求。那是正确的。然而,我在日志中注意到,每个请求都会发生一次新的SS