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

Docker Java Springboot with MySQL:不允许检索公钥

步弘和
2023-03-14

我有一个连接到MySQL的spring boot应用程序,它工作得很好,除非它被停靠,当它停靠时,会抛出一个异常:

2022-06-16 14:50:22.355 ERROR com.zaxxer.hikari.pool.HikariPool - [HikariPool.java:594] - HikariPool-1 - Exception during pool initialization.
app_1      | java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

我试图将连接字符串更改为

jdbc:mysql://mysqldb:3306/BONANZA?allowPublicKeyRetrieval=true&createDatabaseIfNotExist=true&autoReconnect=true&useSSL=false

但是没有发生任何事情,仍然导致同样的异常。

Dockerfile文件

FROM maven AS MAVEN_BUILD
COPY ./ /app
WORKDIR /app


RUN mvn clean package -DskipTests

# second stage: use open jdk 11.0.11 image to build the project docker image
FROM openjdk:17-alpine

COPY --from=MAVEN_BUILD /app/target/Bonanza-Api.jar /usr/local/lib/app.jar

EXPOSE 8585

CMD java -jar -Dspring.profiles.active=prod /usr/local/lib/app.jar

共有1个答案

章子航
2023-03-14

检查POM中JDBC依赖项的正确版本,它们应该是相同的。

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

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

  • 今年6月初,我运行了一个应用程序,没有出现任何问题。今天再次尝试后,控制台中出现以下错误: 有没有关于如何修复的想法? 我对此进行了研究,但没有发现任何特定于Spring Boot应用程序的内容。 应用程序中的设置。属性:

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

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

  • 我正在尝试检索博客条目的推荐源,如API文档中所述: http://www-0.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=IBM连接4.0 API文档 问题是,我总是得到一个http 405:方法,这是不允许的。这是一个已知的问题吗?我做错什么了吗?更确切地说,我在这里处理一个ideation博客的条目。我的请求已通过社区和id