I'm trying to access a MySQL Database from a Java class with the JDBC Driver, but it always gives me the exception java.net.ConnectException: Connection refused.
This would be my Java class (javaSQL.java):
package javasql;
import java.sql.*;
public class JavaSQL {
private static String url = "jdbc:mysql://localhost:3306/javasql";
private static String driver = "com.mysql.jdbc.Driver";
private static Connection cnx = null;
protected static void conectar() {
if (cnx == null) {
System.out.println("Conectando...");
try {
Class.forName(driver);
cnx = DriverManager.getConnection(url, "root", "");
} catch (SQLException e) {
System.out.println(e.getMessage() + ". Error de Conexion CE02");
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage() + ". Error de Conexion CE01");
} finally {
if (cnx != null) System.out.println("Conectado con exito!!");
}
}
}
protected static void desconectar() {
if (cnx != null) {
System.out.println("Desconectando...");
try {
cnx.close();
cnx = null;
} catch (SQLException e) {
System.out.println(e.getMessage() + ". Error de Desconexion DC01");
} finally {
if (cnx == null) System.out.println("Desconectado con exito!!");
}
}
}
public static void main(String[] args) {
conectar();
}
}
And this is my Database (db.sql):
create database javasql;
use javasql;
create table usuario (
id int not null auto_increment primary key,
username varchar(125) unique,
password varchar(125),
created_at datetime
);
I do not know what I'm doing wrong, but the exception to this is always this:
Conectando...
Server connection failure during transaction. Due to underlying exception: 'java.net.ConnectException: Connection refused: connect'.
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
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 java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:244)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2921)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at javasql.JavaSQL.conectar(JavaSQL.java:26)
at javasql.JavaSQL.main(JavaSQL.java:53)
** END NESTED EXCEPTION **