O servidor Apache A tenta conectar ao servidor mysql B. vezes fora [fechado]

0

Eu tenho um servidor web apache executando PHP. Eu estou tentando fazer uma conexão do servidor apache para um servidor de banco de dados executando o servidor mysql. Aqui está uma corrida das configurações no lugar.

  • servidor apache: RHEL 5.5; PHP 5.3.2
  • servidor de banco de dados: Ubuntu 10.04 64bit; versão do servidor mysql 5.1
  • Não há regras de firewall restringindo as conexões entre essas duas máquinas. nem em nosso firewall de hardware ou em iptables.
  • /etc/mysql/my.cnf tem o endereço de ligação definido para o ip da máquina.
  • o skip-networking está comentado, isto é, desativado.
  • o mysql está rodando e na porta padrão 3306
  • /var/run/mysqld/mysqld.sock é de propriedade do mysql
  • eu posso conectar-me ao mysql localmente

o seguinte é o meu script de conexão php:

<?php

$host="555.555.55.55";
$user="some_user"; 
$pass="some_pass";   

$conn = mysql_connect($host, $user, $pass);

if ($conn === FALSE) { echo mysql_error(); } 
else { echo 'Connected'; mysql_close($conn); }

?>

tentar executar o script php em um navegador hospedado no servidor apache apenas produz: "Não foi possível conectar: Não é possível conectar-se ao servidor MySQL em '555.555.55.55' (4)"

alguma sugestão? Obrigado.

    
por ifeltalive 11.11.2010 / 14:43

2 respostas

1

Alteramos o ip da máquina para um intervalo de ip diferente em nossa instituição. de um intervalo privado para um ip público. agora se conecta. Estamos agora investigando esse intervalo privado. Obrigado por todos ajudarem!

link

    
por ifeltalive 12.11.2010 / 22:35
0

Apenas para simplificar as coisas, você já tentou executar ps -A | grep mysqld no servidor Ubuntu? Se não houver saída de texto aqui, o servidor não está sendo executado.

Você pode se conectar ao servidor MySQL executando mysql -u root -p de um terminal na máquina Ubuntu? Se sim, você também pode se conectar usando mysql -u root -p -h <ubuntu-server-ip> do seu servidor Red Hat?

Seu script PHP parece bom, embora, pelo que vale a pena, você normalmente queira fazer uma comparação mais explícita ao verificar sua variável $ conn, como:

if ($conn === FALSE) { echo mysql_error(); } else { echo 'Connected'; }

Além disso, se $conn estiver definido como FALSE , chamar mysql_close($conn) na parte inferior será um desperdício de tempo do servidor ( mysql_close(FALSE) ocupará o tempo para retornar FALSE silenciosamente); você só precisa liberar um identificador de recurso válido e, nesse caso (uma conexão não persistente), não precisa liberar explicitamente o recurso de qualquer maneira.

    
por ayan4m1 11.11.2010 / 15:11