docker jdbc mysql_docker部署多个mysql容器,并使用java连接

在尝试使用Docker部署多个MySQL容器并用Java进行连接时遇到 Communications link failure 错误。错误源于SSLHandshakeException,具体为证书未生效,NotBefore时间设定在Mon Sep 16 23:20:24 CST 2019。该问题涉及到MySQL连接器、HikariCP、Spring JDBC和证书有效期验证。解决方案可能包括检查和更新MySQL证书的有效期,或者调整Java SSL配置以允许不严格验证证书。
摘要由CSDN通过智能技术生成

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was0milliseconds ago. The driver has not received any packets from the server.

at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.17.jar:8.0.17]

at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.17.jar:8.0.17]

at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827) ~[mysql-connector-java-8.0.17.jar:8.0.17]

at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:447) ~[mysql-connector-java-8.0.17.jar:8.0.17]

at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237) ~[mysql-connector-java-8.0.17.jar:8.0.17]

at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199) ~[mysql-connector-java-8.0.17.jar:8.0.17]

at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:136) ~[HikariCP-3.2.0.jar:na]

at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369) ~[HikariCP-3.2.0.jar:na]

at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198) ~[HikariCP-3.2.0.jar:na]

at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:467) [HikariCP-3.2.0.jar:na]

at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:541) [HikariCP-3.2.0.jar:na]

at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) [HikariCP-3.2.0.jar:na]

at com.zaxxer.hikari

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Java连接Docker中的MySQL,需要遵循以下步骤: 1. 确认Docker容器内的MySQL服务已经启动,并且端口映射到主机上。可以通过以下命令检查端口映射情况: ``` docker ps ``` 2. 在Java代码中添加MySQL驱动程序。你可以从MySQL官方网站下载JDBC驱动程序,并将其添加到项目依赖中,或者使用Maven或Gradle等构建工具来管理依赖关系。 3. 编写Java代码来连接MySQL。以下是一个简单的示例: ``` import java.sql.*; public class MySQLTest { public static void main(String[] args) { Connection conn = null; try { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "root"; String password = "mypassword"; conn = DriverManager.getConnection(url, user, password); System.out.println("Connected to database!"); } catch (SQLException e) { System.err.println("Error connecting to database: " + e.getMessage()); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { System.err.println("Error closing connection: " + e.getMessage()); } } } } ``` 在上面的代码中,我们使用JDBC驱动程序连接MySQL数据库。注意,我们使用“localhost”作为主机名,这意味着我们正在连接Docker容器内的MySQL服务。 4. 运行Java代码并检查是否成功连接MySQL。如果连接成功,你将看到“Connected to database!”的输出。如果连接失败,将打印有关错误的信息。 希望这可以帮助你连接Docker中的MySQL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值