Exceção Acessando Mysql pela rede

8 respostas
ARATHORN

Boa tarde pessoal.
Desenvolvi um aplicativo desktop que funciona perfeitamente no servidor onde o mysql/banco de dados está instalado.
Não sou especialista em desenvolvimento de aplicativos desktop e mysql, o que sei aprendi na época de faculdade, então, me desculpem se a pergunta for totalmente estúpida… :?

Quando eu tendo abrir o aplicativo em outra máquina na rede, tenho o seguinte erro:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 

Communications link failure.

Last packet sent to the server was 0 ms ago.

Dei uma pesquisada na internet e vi que a maioria das pessoas resolveu este problema com GRANT ALL para o user que está acessando o banco, ou nos arquivos de configuração do mysql descomentando a linha “skip-networking”.

Tentei as duas soluções e não tive sucesso algum…

Dei uma pesquisada aqui no forum e achei o tópico http://www.guj.com.br/java/229078-problemas-tomcat6#1174792 que o colega também teve este erro, mas o problema era a falta de usuário e senha.

Bom pessoal, se alguém puder me dar qq ajuda ficarei imensamente grato…!!!

Um forte abraço a todos!

8 Respostas

denislima

bom cara vai algumas sugestoes…

vc realmente colocou o ip ao inves de localhost…afinal vc esta acessando d outra maquiina…

vc esta acessando com usuario root? se sim melhor ir no seu admistrador do mysql e criar um usuario e dar as permissoes necessarias p ele…

essa maquina q vc esta usando para acessar… vc ja deu ping na maquina onde esta o banco p ver se ela enxerga o servidor…

a porta de acesso do banco esta liberada pelo firewall do servidor para acessos externos?

enfim…vai algumas sugestoes para vc verificar…

abracoss

ARATHORN

Opa delislima!

Cara, obrigado pelas dicas, aqui vão alguns comentários:

vc realmente colocou o ip ao inves de localhost…afinal vc esta acessando d outra maquiina… [color=red]sim, inclusive fiz testes com o nome da máquina[/color]

vc esta acessando com usuario root? se sim melhor ir no seu admistrador do mysql e criar um usuario e dar as permissoes necessarias p ele…[color=red]sim, vou criar um novo user[/color]

essa maquina q vc esta usando para acessar… vc ja deu ping na maquina onde esta o banco p ver se ela enxerga o servidor…[color=red]não fiz este teste. Mas como eu consigo abrir o programa por esta máquina, acredito não ser isso, mas vou fazer este teste. [/color]

a porta de acesso do banco esta liberada pelo firewall do servidor para acessos externos?[color=red]Sim, tomei este cuidado [/color]

Vou fazer o teste do novo usuário, e posto o resultado. Infelizmente só vou poder fazer isso no sábado, no cliente, pois não tenho uma rede em casa :S

Muito obrigado pela ajuda!

drsmachado

A mensagem “last packet sent to the servar was 0 ms ago” indica problemas com a conexão do aplicativo com o BD.
Reveja as configurações de acesso ao banco e se a rede não perde pacotes.

ARATHORN

Pessoal, bom dia!
Estou aqui no cliente infelizmente não funcinou… :frowning: segue mais alguns dados…

Fiz um teste de ping do cliente para o servidor e vice-versa, funcionou sem problemas. Então não acredito ser u problema da rede.

No painel administrador do MySql, eu dei acesso total para o cliente.

Eu coloquei uma cópia do programa no computador cliente, com o endereço do servidor para conexão, e nada tb.

O erro é o mesmo que postei no primeiro tópico…

O que estou achando é que o MySql está barrando acesso por rede…

Alguém saberia me dizer como que eu altero isso?

Eu tenho os seguintes arquivos de configuração:

my-innodb-heavy-4G.ini, my-large.ini, my-medium.ini, my-small.ini, my-template.ini, my.ini, my-huge.ini. Não há nenhum conf.ini.

Estou usando o MySQL Server 5.1.

É isso ae pessoal, muito obrigado mais uma vez pela a preciosa ajuda, e fico no aguardo!

Um forte abraço a todos.

ttelsen

ARATHORN

tive o mesmo problema que vc.

No meu caso era o firewall que estava bloqueando, passei horas “batendo cabeça” - qual é seu Sistema Operacional?

talves vc ja tenha esse comando, mas vou passar-lhe mesmo assim

  • use assim caso queira definir acesso a um determiniado IP da rede GRANT ALL ON . TO ‘ARATHORN’@‘192.168.0.2’ IDENTIFIED BY ‘123456’;

  • para qualquer maquina da rede use assim: GRANT ALL ON . TO ‘ARATHORN’@’%’ IDENTIFIED BY ‘123456’;

tenta la e passa os resulatados.

Abraços

ARATHORN

Ho meu amigo, muito obrigado pelo feedback…
Eu já havia feito isso…

Eu consegui resolver…pra falar a verdade foi uma solução que nem eu entendi…rsrsrs…eu simplesmente desinstalei o mysql e instalei outra versão e funcionou de boa…

vlw pessoal!

ttelsen

HASUUHHSHUHSUHS

Ótimo

drsmachado

ARATHORN:
Ho meu amigo, muito obrigado pelo feedback…
Eu já havia feito isso…

Eu consegui resolver…pra falar a verdade foi uma solução que nem eu entendi…rsrsrs…eu simplesmente desinstalei o mysql e instalei outra versão e funcionou de boa…

vlw pessoal!

É por isso que eu gosto da área de exatas…
Sempre nos surpreende com coisas “exatas”…

Criado 30 de janeiro de 2011
Ultima resposta 3 de jun. de 2011
Respostas 8
Participantes 4