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]
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
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,
F
franzzita
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:
finalprivateStringdriver="org.gjt.mm.mysql.Driver";finalprivateStringurl="jdbc:mysql://SERVIDOR:3306/BANCO";//exemplo de urlfinalprivateStringusuario="adm";//exemplo usuariofinalprivateStringsenha="123";//exemplo senhaprivateConnectionconexao;publicStatementstatement;publicResultSetresultset;publicbooleanconecta(){booleanresult=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(ClassNotFoundExceptionDriver){JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);returnfalse;}catch(SQLExceptionFonte){JOptionPane.showMessageDialog(null,"Deu erro na conexão "+"com a fonte de dados: "+Fonte);returnfalse;}returnresult;}
F
franzzita
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
adriano_si
uma busca no parceiro por “resolv.conf in mac os” retornou um resultado interessante:
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
franzzita
Pessoal, consegui acessar esse arquivos ocultos, tenho acesso a configuração deles agora.
Vou postar como eles estão configurados.
Abra o terminal (Applications > Utilities > Terminal.app)
verifique se sua máquina consegue enviar pacotes para o servidor MySQL: ping IP_DO_SERVIDOR_MYSQL
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
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
F
franzzita
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
Daniel_MV
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
franzzita
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.