MAC OS não conecta com Banco de Dados MySQL

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. ^^

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?

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,

[quote=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?[/quote]

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:

[code]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;
  }[/code]

[quote=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,[/quote]

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

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

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,

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]

  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:

[quote=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 :)[/quote]

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.

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.

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!!