MAC OS não conecta com Banco de Dados MySQL

11 respostas
F

Bom tarde Pessoal,

Tenho uma aplicação Java com BD MySQL, todos os computadores com Windows aqui se conectam perfeitamente a ela, porém estou tentando fazer a aplicação executar no MAC OS e não consigo… já fiz várias modificações e nada sólido… esse é o erro que ta aparecendo pra mim.

[b]com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.[/b]

Alguém sabe porque isso ta acontecendo?

Obrigada. ^^

11 Respostas

H

Tem firewall/anti-virus bloqueando a aplicação ou as portas de conexão não?

No arquivo de configuração do DB está apontando corretamente para o DB e sua porta liberada?

R

Boa tarde.

Dê uma olhada neste post:

Provavelmente é algum problema com o host de conexão.

Dê uma olhada como estão os hosts dentro do arquivo “resolv.conf”.

Abraço,

F
jakefrog:
Tem firewall/anti-virus bloqueando a aplicação ou as portas de conexão não?

No arquivo de configuração do DB está apontando corretamente para o DB e sua porta liberada?

Cara, nunca trabalhei com MAC, eu estou tentando fazer isso a algumas horas somente, você poderia me ajudar a localizar esse bloqueo por firewall ou anti-vírus?

Minha conexão é essa:

final private String driver = "org.gjt.mm.mysql.Driver";
    final private String url = "jdbc:mysql://SERVIDOR:3306/BANCO"; //exemplo de url
    final private String usuario = "adm";  //exemplo usuario
    final private String senha = "123"; //exemplo senha
    private Connection conexao;
    public Statement statement;
    public ResultSet resultset;

     public boolean conecta()
     {
         boolean result = true;
              try
              {
                Class.forName(driver);
                conexao = DriverManager.getConnection(url, usuario, senha);
                //JOptionPane.showMessageDialog(null,"Pronto para cadastrar!");
                statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
                resultset = statement.executeQuery("Show tables");
              }
              catch(ClassNotFoundException Driver)
              {
                JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
                return false;
              }
              catch(SQLException Fonte)
              {
                JOptionPane.showMessageDialog(null,"Deu erro na conexão "+"com a fonte de dados: "+Fonte);
                return false;
              }
         return result;
      }
F

rodrigo.ferreira:
Boa tarde.

Dê uma olhada neste post:

Provavelmente é algum problema com o host de conexão.

Dê uma olhada como estão os hosts dentro do arquivo “resolv.conf”.

Abraço,

Rodrigo, onde encontro esse arquivo no MAC?
Já andei estudando este tópico, não adiantou muito não…

A

uma busca no parceiro por “resolv.conf in mac os” retornou um resultado interessante:

http://macosx.com/forums/unix-x11/19616-how-make-entrys-resolv-conf-stay-after-reboot.html

R

Olá.

Ele fica em /etc/resolv.conf.

Neste arquivo você configura o DNS do seu computador, o que pode estar ocasionando o problema.

Por exemplo:

Host Database

localhost is used to configure the loopback interface

when the system is booting. Do not change this entry.

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

127.0.0.1 local.joind.in
209.114.40.229 www.example.com

Neste exemplo, toda vez que você chamar por “www.example.com”, o sistema irá procurar no IP 209.114.40.229 e o mesmo ocorre com o “localhost”, onde o sistema chamará o IP 127.0.0.1

No seu exemplo de URL: String url = “jdbc:mysql://SERVIDOR:3306/BANCO”, verifique se o “SERVIDOR” está mapeado no resolv.conf.

Faça um teste: Ao invés de colocar o DNS (SERVIDOR), use o IP diretamente, por exemplo, 127.0.0.1: jdbc:mysql://127.0.0.1:3306/BANCO; lembrando que deve substituir o “127.0.0.1” pelo IP do servidor MySQL.

Dê uma lida nesta referência:

Abraço,

F

Pessoal, consegui acessar esse arquivos ocultos, tenho acesso a configuração deles agora.
Vou postar como eles estão configurados.

[i]RESOLV.CONF

nameserver 200.165.132.147
nameserver 192.168.1.1[/i]

D
  1. Abra o terminal (Applications > Utilities > Terminal.app)
  2. verifique se sua máquina consegue enviar pacotes para o servidor MySQL: ping IP_DO_SERVIDOR_MYSQL
  3. se der certo, veja se você consegue estabelecer uma conexão com o servidor onde está o MySQL, na porta onde o MySQL está ouvindo: telnet IP_DO_SERVIDOR_MYSQL PORTA_DO_MYSQL
  4. se este passo falhar, é provável que haja algum firewall em algum lugar. Se for na sua máquina, o caminho para desativá-lo é System Preferences > Security > Firewall.

Boa sorte :slight_smile:

F

Daniel Quirino Oliveira:
1. Abra o terminal (Applications > Utilities > Terminal.app)
2. verifique se sua máquina consegue enviar pacotes para o servidor MySQL: ping IP_DO_SERVIDOR_MYSQL
3. se der certo, veja se você consegue estabelecer uma conexão com o servidor onde está o MySQL, na porta onde o MySQL está ouvindo: telnet IP_DO_SERVIDOR_MYSQL PORTA_DO_MYSQL
4. se este passo falhar, é provável que haja algum firewall em algum lugar. Se for na sua máquina, o caminho para desativá-lo é System Preferences > Security > Firewall.

Boa sorte :)

Cara, não sei se esse IP que to usando é o certo, fiz ipconfig na máquina (servidor) e peguei o ip, mas acho que ele muda toda vez que desliga o pc.
Enfim, fiz o ping no ip que achei e deu certo, depois fiz telnet utlizando a porta +/- assim: 198.888.1.111 3306 e apareceu nada relevante, tentei assim 198.888.1.111:3306 e deu erro.

=/

O Firewall ta desativado nas duas máquinas.

D

aproveitando, no mac os lion nao vem mais o mysql instalado, vem o postgree

Alguem sabe a senha padrão, ou como configurar essa bagaça?

Quero usar com Rails.

F

Pessoal, obrigada pela ajuda até agora!
Consegui conectar com o servidor, no meu código de conexão eu estava usando o nome do servidor e não seu ip, pois ele modifica toda vez que a máquina é desligada. Modifiquei para o ip e deu tudo certo, porém agora estou com dois novos problemas.

1- Não consigo exibir meus relatórios desenvolvidos em iReports;
2- Como solucionar o problema com o ip dinâmico.

Agraceço muito a ajuda de todos.
Espero que vocês possam me ajudar em mais essas dúvidas.

Obg!!

Criado 23 de fevereiro de 2012
Ultima resposta 24 de fev. de 2012
Respostas 11
Participantes 6