Connection Refused when trying to connect to MySql database

0

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 **
    
asked by Álvaro Rojas 24.03.2017 в 13:29
source

0 answers