MySQL não aceita conexão de programas Java

5 respostas
G

Bom dia,

estou a mais de 2 dias com esse problema e ainda não consegui resolver, o mysql não esta aceitando conexões do java.
Fiz um programinha simples para inserir em uma tabela teste que já existe no banco.
Quando rodo o programa recebo essa mensagem:

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

The last packet successfully received from the server was 1,253,094,945,846 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
Erro ao inserir.
        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:2214)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:773)
        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:352)
        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 br.ti. estudos.dao.BoxDB.getConnection(BoxDB.java:31)
        at br.ti. estudos.dao.UsuarioDao.insert(UsuarioDao.java:19)
        at br.ti.estudos.dao.UsuarioDao.main(UsuarioDao.java:48)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 1,253,094,945,843 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds 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.MysqlIO.readPacket(MysqlIO.java:673)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1076)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2142)
        ... 14 more
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2475)
        at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:597)
        ... 16 more

Estou usando Linux e consigo acessar o banco pelo mysql query browser normalmente.

5 Respostas

zoren

Como você fez para conectar ao banco?

G
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException

public class Conexao {

    private static final String DBDRIVER = "com.mysql.jdbc.Driver";
    private static final String DBHOST = "jdbc:mysql://localhost:3306/teste";
    private static final String DBUSER = "root";
    private static final String DBPASS = "root";

    static {
        try {
            Class.forName(DBDRIVER);
        } catch (ClassNotFoundException e) {
            System.out.println("Error driver");
            e.printStackTrace();
        }
    }

    public static Connection getConnection(){
        Connection con = null;
        if(con == null){
            try {
                con = DriverManager.getConnection(DBHOST, DBUSER, DBPASS);
            } catch (SQLException e) {
                System.out.println("Erro ao se conectar");
                e.printStackTrace();
            }
        }
        return con;
    }
}
zoren

Esse erro é exatamente na hora de obter a conexão??

Por algum motivo o banco não está disponível, você já tentou fazer um ping nessa url??

Já tentou outra versão do driver, as vezes é algum problema com o driver??

MaTToS

Voce esta utilizando o drive correto?!

ja tive esse problema. baixei o drive de conexão com banco novamento e funcionou certinho!!!

abrasss!!!

G

Eu ja tentei com 3 versoes de drivers diferentes. 5.0.4 / 5.1.6 / 5.1.8 e não funciona com nenhum.

Criado 16 de setembro de 2009
Ultima resposta 17 de set. de 2009
Respostas 5
Participantes 3