JavaFX 애플리케이션에서 원격 MySQL 데이터베이스에 연결할 수 없습니다.

조셉 페트로프

랩톱에있는 원격 MySQL 데이터베이스와 통신하는 애플리케이션을 만들었습니다. 내 localhost를 사용하여 다음과 같이 연결하면 앱이 제대로 작동합니다.

public class DbConncetion {
   public Connection Connect(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/cms?autoReconnect=true&useSSL=false","root","");
            return con;
        }
        catch(Exception ex){
            System.out.println(ex);       
        }
        return null;
       }

}

잘 작동합니다. 그러나 "localhost"대신 공용 IP 주소를 사용하면 앱에서 다음을 던집니다.

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
java.lang.NullPointerException

이 포럼에서 많이 보지만 아무것도 찾지 못했습니다. 나는 사용자를 생성하고 그에게 다음과 같이 내 XAMPP MySQL의 모든 권한을 부여합니다.

이것은 거기에서 그림입니다

라우터를 구성했지만 올바른지 확실하지 않습니다. 이것은 거기에서 찍은 사진입니다 . 미리 감사드립니다 :)

그리고 이것은 전체 스택 트레이스입니다 : t

com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2088)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
    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)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at DBconnection.DbConncetion.Connect(DbConncetion.java:24)
    at javafxapplication1.Main1Controller.loadData(Main1Controller.java:208)
    at javafxapplication1.Main1Controller.lambda$new$0(Main1Controller.java:232)
    at com.sun.scenario.animation.shared.TimelineClipCore.visitKeyFrame(TimelineClipCore.java:239)
    at com.sun.scenario.animation.shared.TimelineClipCore.playTo(TimelineClipCore.java:180)
    at javafx.animation.Timeline.impl_playTo(Timeline.java:176)
    at javafx.animation.AnimationAccessorImpl.playTo(AnimationAccessorImpl.java:39)
    at com.sun.scenario.animation.shared.InfiniteClipEnvelope.timePulse(InfiniteClipEnvelope.java:110)
    at javafx.animation.Animation.impl_timePulse(Animation.java:1102)
    at javafx.animation.Animation$1.lambda$timePulse$25(Animation.java:186)
    at java.security.AccessController.doPrivileged(Native Method)
    at javafx.animation.Animation$1.timePulse(Animation.java:185)
    at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:344)
    at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:506)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490)
    at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$404(QuantumToolkit.java:319)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    at java.lang.Thread.run(Thread.java:745)
Caused by: 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:2251)
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2104)
    ... 33 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:300)
    ... 35 more

Feb 18, 2017 2:23:03 PM DBconnection.DbConncetion Connect
SEVERE: null
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
    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.Util.getInstance(Util.java:408)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2163)
마이너스

Mysql 사용자 구성에서 응용 프로그램 IP 주소를 허용해야합니다. 사진에서 허용 된 IP를 마스킹 한 경우 해당 IP는 응용 프로그램 서버 IP 여야합니다.

DB 호스트의 동일한 로컬 네트워크에서 웹 애플리케이션을 실행하는 경우 DB 호스트의 공용 IP에 연결할 수 없으며 라우터는 단순히 그렇게 할 수 없습니다.

따라서 로컬 테스트를 위해서는 localhost를 사용해야합니다.

앱을 배포 할 때는 공용을 사용해야합니다.

그건 그렇고, mysql db 포트를 인터넷에 노출시키는 것은 좋은 습관이 아닙니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

mysql 원격 데이터베이스에 연결할 수 없습니다

분류에서Dev

mysql 워크 벤치를 원격 데이터베이스에 연결할 수 없습니다.

분류에서Dev

데이터베이스에 원격으로 연결할 수 없습니다.

분류에서Dev

JDBC로 원격 Oracle 데이터베이스에 연결할 수 없습니다.

분류에서Dev

MySQL이 원격 서버에 연결할 수 없습니다.

분류에서Dev

원격 서버에서 MySQL에 연결할 수 없습니다.

분류에서Dev

Eclipse OSGi 애플리케이션에 원격 디버거를 연결할 수 없습니다.

분류에서Dev

애플리케이션에서 연결할 수 없습니다.

분류에서Dev

Android KivyMD에서 mysql 데이터베이스에 연결할 수 없습니다.

분류에서Dev

Rails 애플리케이션으로 sqlite3 데이터베이스에 연결할 수 없습니다.

분류에서Dev

SqlConnection을 사용하여 원격 데이터베이스에 연결할 수 없습니다.

분류에서Dev

spring-data-neo4j를 원격 데이터베이스에 연결할 수 없습니다.

분류에서Dev

xmalloc : 하나의 원격에서 다른 원격으로 mysql 데이터베이스를 복사하는 16 바이트를 할당 할 수 없습니다.

분류에서Dev

원격 서버에서 Vaadin 애플리케이션을 실행할 수 없습니다.

분류에서Dev

MySQL Workbench-특정 데이터베이스에 연결할 수 없습니다.

분류에서Dev

Java는 mysql 데이터베이스에 연결할 수 없습니다.

분류에서Dev

Playframework 2.5.4. 데이터베이스 [db] (MySql)에 연결할 수 없습니다.

분류에서Dev

JDBC-MySQL 서버에 원격으로 연결할 수 없습니다.

분류에서Dev

내 애플리케이션에서 IMS apn에 연결할 수 없습니다.

분류에서Dev

SSH 터널링을 사용하여 원격 MySQL 데이터베이스를 호출 할 수 없습니다.

분류에서Dev

mysql에서 데이터베이스 서버를 연결할 수 없습니까?

분류에서Dev

오픈 시프트 플랫폼에서 MYSQL 데이터베이스에 연결할 수 없습니다.

분류에서Dev

내 Django 웹 애플리케이션에서 Amazon RDS Postgres 데이터베이스에 연결할 수 없습니다.

분류에서Dev

원격 데스크톱에 연결할 수 없습니다.

분류에서Dev

원격 Windows Server에서 MySql 8.0 데이터베이스에 액세스 할 수 없음

분류에서Dev

데스크탑 애플리케이션이 인터넷에 연결할 수 없습니다.

분류에서Dev

데스크탑 애플리케이션이 인터넷에 연결할 수 없습니다.

분류에서Dev

Linux Mint의 Monodevelop에서 MySQL 데이터베이스에 연결할 수 없습니다

분류에서Dev

AWS에서 실행중인 MySQL 데이터베이스에 연결할 수 없습니다.

Related 관련 기사

  1. 1

    mysql 원격 데이터베이스에 연결할 수 없습니다

  2. 2

    mysql 워크 벤치를 원격 데이터베이스에 연결할 수 없습니다.

  3. 3

    데이터베이스에 원격으로 연결할 수 없습니다.

  4. 4

    JDBC로 원격 Oracle 데이터베이스에 연결할 수 없습니다.

  5. 5

    MySQL이 원격 서버에 연결할 수 없습니다.

  6. 6

    원격 서버에서 MySQL에 연결할 수 없습니다.

  7. 7

    Eclipse OSGi 애플리케이션에 원격 디버거를 연결할 수 없습니다.

  8. 8

    애플리케이션에서 연결할 수 없습니다.

  9. 9

    Android KivyMD에서 mysql 데이터베이스에 연결할 수 없습니다.

  10. 10

    Rails 애플리케이션으로 sqlite3 데이터베이스에 연결할 수 없습니다.

  11. 11

    SqlConnection을 사용하여 원격 데이터베이스에 연결할 수 없습니다.

  12. 12

    spring-data-neo4j를 원격 데이터베이스에 연결할 수 없습니다.

  13. 13

    xmalloc : 하나의 원격에서 다른 원격으로 mysql 데이터베이스를 복사하는 16 바이트를 할당 할 수 없습니다.

  14. 14

    원격 서버에서 Vaadin 애플리케이션을 실행할 수 없습니다.

  15. 15

    MySQL Workbench-특정 데이터베이스에 연결할 수 없습니다.

  16. 16

    Java는 mysql 데이터베이스에 연결할 수 없습니다.

  17. 17

    Playframework 2.5.4. 데이터베이스 [db] (MySql)에 연결할 수 없습니다.

  18. 18

    JDBC-MySQL 서버에 원격으로 연결할 수 없습니다.

  19. 19

    내 애플리케이션에서 IMS apn에 연결할 수 없습니다.

  20. 20

    SSH 터널링을 사용하여 원격 MySQL 데이터베이스를 호출 할 수 없습니다.

  21. 21

    mysql에서 데이터베이스 서버를 연결할 수 없습니까?

  22. 22

    오픈 시프트 플랫폼에서 MYSQL 데이터베이스에 연결할 수 없습니다.

  23. 23

    내 Django 웹 애플리케이션에서 Amazon RDS Postgres 데이터베이스에 연결할 수 없습니다.

  24. 24

    원격 데스크톱에 연결할 수 없습니다.

  25. 25

    원격 Windows Server에서 MySql 8.0 데이터베이스에 액세스 할 수 없음

  26. 26

    데스크탑 애플리케이션이 인터넷에 연결할 수 없습니다.

  27. 27

    데스크탑 애플리케이션이 인터넷에 연결할 수 없습니다.

  28. 28

    Linux Mint의 Monodevelop에서 MySQL 데이터베이스에 연결할 수 없습니다

  29. 29

    AWS에서 실행중인 MySQL 데이터베이스에 연결할 수 없습니다.

뜨겁다태그

보관