Я сделал программное обеспечение, я создал базу данных mysql на другом ноутбуке, а программное обеспечение на другом ноутбуке означает, что у меня есть 2 ноутбука, у которых есть программное обеспечение, а у одной есть база данных, и оба связаны с интернет-проводом. теперь я подключаю свое программное обеспечение к базе данных, которая установлена на другом ноутбуке, но я получаю ссылку об ошибке связи. Я дал IP-адрес серверного ноутбука, но, тем не менее, я получаю сообщение об ошибке, сообщите мне, как решить эту проблему, код здесь.
private static void init()throws Exception{
String url="jdbc:mysql://169.254.96.182:3306/content_management_system";
String user="root";
String password="oracle";
con=DriverManager.getConnection(url, user, password);
System.out.println("connection successfull");
}//end method
и ошибка
com.mysql.jdbc.exceptions.jdbc4.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 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:989)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:341)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2189)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2222)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2017)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:779)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
По умолчанию порт 3306; которые вы используете для маршрутизации соединения с вашей базой данных, будут закрыты или, по крайней мере, заблокированы из любых внешних подключений.
Вам нужно будет открыть этот порт; и, возможно, добавить перенаправление портов, чтобы обеспечить правильное направление любых внешних подключений.
Посмотрите, как открыть порты и проверить эту ссылку на переадресацию портов.
Как указано в комментариях, вы также можете использовать команду PING 169.254.96.182
чтобы проверить, можно ли установить соединение!
Также, если вы открываете порт, если только не установлены строгие меры безопасности; вы должны удалить свой IP-адрес из этого вопроса, поскольку вы в основном предоставляете нам доступ!