Problema con MySQL - Java

Buenas!!

Estoy intentando acceder a una base de datos MySQL desde NetBeans, y me da un error. La base de datos funciona bien desde la linea de comandos de MySQL, y el Driver está correctamente cargado.

package probando;

import java.sql.*;

public class Main
{


public static void main(String[] args)
{





try
{
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/prueba","root", "pass";



} catch (Exception e)
{
e.printStackTrace();
}

}

}


Y el error:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Last packet sent to the server was 0 ms ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2103)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at probando.Main.main(Main.java:25)
Caused by: java.net.ConnectException: Connection refused: 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:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2026)
... 12 more


Me rechaza la conexión, y no sé muy bien por qué es. A ver si me puedes echar una mano :)
Puede que sea cosa del puerto en el que tienes el Mysql funcionando, si no es el de por defecto (3306) tendras que indicarlo en la url

"jdbc:mysql://localhost:puerto/prueba"

O no tienes creada una base de datos llamada "prueba".

[bye]
No, el puerto era el por defecto,pero por si las moscas, he especificado que es el 3306 y tampoco va. Evidentemente hay una base de datos creada llamada así (he probado con varias).

A ver si alguien consigue localizar el error, porque me estoy volviendo loco [mamaaaaa]
Has probado a conectarte a 127.0.0.1 en vez de a localhost? tal que asi:

Connection conexion = DriverManager.getConnection("jdbc:mysql://127.0.0.1/prueba","root", "pass";
Probado también con la dirección de loopback y nada, el mismo error. Gracias por las propuestas de todos modos. A ver si alguien consigue una solución [risita]
Si abres una consola de sistema y ejecutas:

telnet localhost 3306

¿Se te abre una conexion o te da Error en la conexion?


Prueba a cargar el driver mas actual con la otra forma
Class.forName("com.mysql.jdbc.Driver");
[bye]
5 respuestas