Ошибка при подключении к онлайн-базе данных mySQL (JAVA) - PullRequest
0 голосов
/ 26 апреля 2020

Я получаю ошибку времени выполнения при подключении к базе данных в режиме онлайн через мою программу java, я только что создал класс только для подключения к базе данных с предоставленным паролем имени пользователя.

Примечание : Я разместил базу данных в виде капли в DigitalOcean с доступом к phpmyadmin.

import java.sql.*;
import javax.sql.*;

public class Connect
{
    public static void main (String[] args)
    {
        Connection conn = null;

        try
        {
            String url = "jdbc:mysql://159.203.105.235:22/xploreLanka";
            String username = "root";
            String password = "examplepassword";
            Class.forName ("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection (url,username,password);
            System.out.println ("Database connection established");
        }
        catch (Exception e)
        {
            e.printStackTrace();

        }
    }
}

Приведенный выше код удерживается в течение почти 20–30 секунд и отображает следующую ошибку.

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.io.EOFException

STACKTRACE:

java.io.EOFException
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1865)
    at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:531)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:936)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2595)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1509)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at Connect.main(Connect.java:16)


** END NESTED EXCEPTION **



Last packet sent to the server was 9 ms ago.
    at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:561)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:936)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2595)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1509)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at Connect.main(Connect.java:16)

Process finished with exit code 0

А также, если я не предоставляю номер порта (22) для IP-адреса выше, это выдает ошибку, как показано ниже.

java.sql.SQLException: null,  message from server: "Host '112.135.240.96' is not allowed to connect to this MySQL server"
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:962)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2595)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1509)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at Connect.main(Connect.java:16)

Process finished with exit code 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...