Hola a todos,
he creado una base de datos con mysql en mi ordenador, para que funcione a modo servidor de forma que mi aplicación java pueda acceder a ella remotamente desde otro equipos.
Para esto he seguido los siguientes pasos:
- He convertido en estática mi dirección IP interna (ahora 192.168.1.35).
- He creado en mi equipo la base de datos con mysql usando el puerto 3307.
- Como mi IP externa es dinámica me cree un dns tipo vXXX.no-ip.info
- He configurado la NAT de mi router para que deje pasar lo que vaya al puerto 3307 a mi IP local.
Ahora bien, cuando intento conectar (incluso desde el propio ordenador en el que está la base de datos) de la siguiente forma:
String url = "jdbc:mysql://vXXX.no-ip.info:3307/mex_bd";
mi_conexion = DriverManager.getConnection(url, login, pass);
me da un error tan largo que casi me da vergüenza postear:
java.net.ConnectException MESSAGE: Connection timed out: connect
STACKTRACE:
java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:516) at java.net.Socket.connect(Socket.java:466) at java.net.Socket.(Socket.java:366) at java.net.Socket.(Socket.java:208) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:271) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771) at com.mysql.jdbc.Connection.(Connection.java:1555) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:171) at gestorBD.conectar(gestorBD.java:42) at main_clase.(main_clase.java:20) at main_clase$6.run(main_clase.java:243) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
Alguien sabe qué demonios está pasando? o qué es lo que he podido hacer mal o si debo hacer algo que se me ha escapado?
Muchas gracias de antemano,
V.