Alguém pode me dizer por que meu servidor web não pode se conectar a um servidor de banco de dados?

1

Erro "Não é possível conectar-se ao servidor MYSQL". O DB é um servidor separado. link

Eu digitei "nc dbserver 3306" e ele retornou: [XXXXXX] 3306 (mysql): Conexão recusada

Mesmo nas minhas opções GRANT, especifiquei GRANT ALL TO. % ...

Meu amigo disse que o servidor da web está sendo impedido de estabelecer uma conexão TCP de qualquer tipo para essa porta.

Eu verifiquei my.cnf ... nada de especial lá. Poderia ser por causa do meu IPTABLES? A opção --skip-networking NÃO está em my.cnf.

Obrigado

    
por Alex 29.09.2009 / 08:07

4 respostas

0

111 geralmente é um erro genérico de conexão "socket", ou seja, o pacote nunca chegou lá . Sem mais informações sobre como seu firewall está configurado, isso pode ser causado por:

  • Endereço IP incorreto
  • Número da porta inválida (nenhum serviço está sendo executado nessa porta)
  • Configuração incorreta de roteamento (raro, mas acontece)
  • O firewall está absorvendo ou rejeitando o pacote. Isso é mais provável.

Tente se conectar a uma exceção de firewall e veja se isso funciona. A exceção deve permitir todo o tráfego entre os endereços IP de ambas as máquinas, portanto, haverá duas regras - uma para ingresso e outra para saída.

    
por 29.09.2009 / 08:10
2

A ligação recusada significa que não está a ouvir o seu endereço IP externo. Eu sei que você disse que olhou para o meu my.cnf, mas certifique-se de não ter nenhuma das seguintes linhas:

bind-address            = 127.0.0.1
skip-networking

Se você tiver bind-address, mude para

bind-address            = *

Se você tiver pular rede, remova-a.

Se você fez essas coisas, verifique seu firewall.

    
por 29.09.2009 / 11:17
1

A primeira coisa a verificar: tente se conectar no PC com o MySQL.

Veja o que eu faria para verificar de onde o erro vem:

  1. Tente se conectar diretamente: mysql -h 127.0.0.1 -u [nome de usuário] -p [senha]
  2. Tente conectar diretamente com o IP externo e a linha de comando ainda no computador MySQL: mysql -h 192.168.0.26 -u [nome do usuário] -p [senha]
  3. Tente conectar-se usando a linha de comando de um PC distinto: mysql -h 192.168.0.26 -u [nome de usuário] -p [senha]
  4. Se tudo funcionar, os problemas vêm da configuração do Apache Server. Caso contrário, você poderá adivinhar rapidamente de onde vem o problema.
por 29.09.2009 / 09:19
0

Primeiramente, assegure-se de que seu servidor MySQL está realmente escutando em um soquete TCP externo. Faça um netstat e veja se consegue algo com 3306 e certifique-se de que não é apenas 127.0.0.1:3306 ou algo assim.

# netstat -untap | grep 3306

Às vezes, o MySQL é configurado por padrão para escutar apenas em soquetes locais. Se for esse o caso, basta editar o arquivo my.cnf para ouvir em todas as interfaces. Caso contrário, é provável que seja um problema de rede.

    
por 29.09.2009 / 11:11

Tags