* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

¿Como conecto MySQL a Java?

Hola

Estoy programando una aplicación en java y necesito conectarme con mysql (Estoy programando en netbeans y eclipse). Lo que pasa es que al ejecutar la aplicación java me sale el siguiente error:


SQLException: Communications link failure
Last packet sent to the server was 8 ms ago.

Cuando escribo en el terminal mysql -u root -p no tengo ningún problema para ingresar. Puedo ver las bases de datos y modificarlas sin problemas.

El código java para la conexión es así (incluí en las librerías del proyecto el driver mysql-connector-java)


String DB = "inv_index";
String HOST = "localhost";
String ACCOUNT = "root";
String PASSWORD = "qazxsw";
String DRIVER = "com.mysql.jdbc.Driver";
try {
Class.forName(DRIVER).newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://"+HOST+"/"+DB, ACCOUNT,PASSWORD);
...

Este mismo código funciona sin ningún problema en windows, por lo que descarto que el código esté mal.
Averigüe que el puerto de mysql es el 3306, así que ya intenté con localhost:3306 y tampoco resultó.
No tengo habilitado el firewall (iptables), o sea, está en modo permisivo.

usando nmap me dió lo siguiente:


[davidmet@localhost ~]$ nmap -v localhost

Starting Nmap 4.76 ( http://nmap.org ) at 2009-09-30 19:04 CLT
Initiating Ping Scan at 19:04
Scanning 127.0.0.1 [1 port]
Stats: 0:00:00 elapsed; 0 hosts completed (0 up), 0 undergoing Ping Scan
Ping Scan Timing: About 100.00% done; ETC: 19:04 (0:00:00 remaining)
Completed Ping Scan at 19:04, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 19:04
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 445/tcp on 127.0.0.1
Discovered open port 139/tcp on 127.0.0.1
Discovered open port 631/tcp on 127.0.0.1
Completed Connect Scan at 19:04, 0.04s elapsed (1000 total ports)
Host localhost (127.0.0.1) appears to be up ... good.
Interesting ports on localhost (127.0.0.1):
Not shown: 996 closed ports
PORT STATE SERVICE
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
[davidmet@localhost ~]$

Y luego escanee el puerto 3306


[davidmet@localhost ~]$ nmap -v localhost -p 3306

Starting Nmap 4.76 ( http://nmap.org ) at 2009-09-30 18:48 CLT
Initiating Ping Scan at 18:48
Scanning 127.0.0.1 [1 port]
Completed Ping Scan at 18:48, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 18:48
Scanning localhost (127.0.0.1) [1 port]
Completed Connect Scan at 18:48, 0.00s elapsed (1 total ports)
Host localhost (127.0.0.1) appears to be up ... good.
Interesting ports on localhost (127.0.0.1):
PORT STATE SERVICE
3306/tcp closed mysql

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
[davidmet@localhost ~]$

El puerto está cerrado....... ¿comó puedo abrirlo?, alguien conoce alguna solución para este problema?
Ya intente cambiar el puerto desde el archivo /etc/my.cnf y al intentar entrar por ese puerto tampoco funciona.

Saludos.

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.


Gravatar de vfmmeo

# 91183 Si el puerto está cerrado, es que alguien lo ha hecho.

Hola.

Abre drakfirewall como root y asegúrate de que tienes activada la casilla "Todo (sin cortafuegos)" (nada recomendado, por cierto) o, en la sección "Avanzado" abre específicamente el puerto 3306 poniendo "3306/tcp" en "Otros puertos".

También asegúrate de que tienes comentada la línea "skip-networking" en /etc/my.cnf.

Atentamente,
El BOFH anteriormente conocido como vfmmeo. No había nadie mejor disponible.

Sígueme o aparta.

Atentamente,
El BOFH anteriormente conocido como vfmmeo. No había nadie mejor disponible.

Sígueme o aparta.



Gravatar de Davidmet

# 91209 Por defecto instalé

Por defecto instalé mandriva con Todo (sin cortafuegos), por eso me extraña que el puerto esté cerrado.

Activé el firewall y marqué la opción de conectarse a mysql desde internet además de agregar el puerto a "otros puertos", pero sigue sin conectar.



Gravatar de vfmmeo

# 91210 Y lo de skip-networking?

¿Lo has comentado?

Por defecto, MySQL en Mandriva no acepta peticiones que le vienen por red. Para deshabilitar ése comportamiento, debes comentar la línea skip-networking de /etc/my.cnf

Atentamente,
El BOFH anteriormente conocido como vfmmeo. No había nadie mejor disponible.

Sígueme o aparta.

Atentamente,
El BOFH anteriormente conocido como vfmmeo. No había nadie mejor disponible.

Sígueme o aparta.



Gravatar de Davidmet

# 91215 Gracias

Ese era el problema.... no sabia que existía esa línea. Ahora funciona ok.

Gracias. Saludos.

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.