2

I am using mysql-connector-java-8.0.15.jar in my code to connect to a remote database using com.mysql.cj.jdbc.Driver. When I deploy my code on the server the connection is refused. I tried firewall settings (is correct), directly connecting to mysql instance (works).

I debugged it and found that my code is able to connect successfully using mysql-connector-java-5.1.45.jar (older version) using jdbc : com.mysql.jdbc.Driver which is deprecated.

I am not able to use the updated library. How do I make the new library work?

Configuration of the Server :

Java:
openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.18.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.18.04, mixed mode, sharing)

Ubuntu 18.0.4

Edit:

Error Logs from the server while using mysql-connector-java-8.0.15.jar (the new lib) and com.mysql.cj.jdbc.Driver

Making Connection
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)

This however works perfectly on my local system.

The method which I use to connect to the database

try {
    Class.forName("com.mysql.cj.jdbc.Driver");
    return DriverManager.getConnection("jdbc:mysql://xxx.xxx.xxx.xxx:3306/dbname", "username", "password");
} catch (ClassNotFoundException | SQLException e) {
    e.printStackTrace();
}
Mayank
  • 1,364
  • 1
  • 15
  • 29

0 Answers0