Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que meu código php não está se conectando ao meu banco de dados MySql remoto?


A primeira coisa que eu verificaria (se você ainda não o fez) é que você pode de fato se conectar ao banco de dados do computador que executa seu script PHP. Isso para descartar um problema de rede ou firewall.

A primeira coisa seria pingar o servidor. Em um prompt do DOS, execute:
ping servername

Onde "servername" é a mesma string que você colocou no seu script PHP acima. Se isso não responder com uma string semelhante à abaixo, especificamente, a primeira palavra não é "Reply":
Reply from 192.168.239.132: bytes=32 time=101ms TTL=124

Isso significa que provavelmente não há conectividade entre o computador que executa o script PHP e o servidor mysql. Eu então verificaria se o servidor e o computador estão conectados corretamente à rede, se o servidor está ativo, e se não há firewall em seu computador executando o script PHP ou no servidor.

Agora, se o seu teste acima mostrar "Responder" ao ping, você pode testar se consegue se conectar ao serviço Mysql a partir do seu servidor php. Para isso, você pode usar o Mysql workbench (http://dev.mysql.com/downloads/workbench/ ) e a partir daí crie uma conexão com os parâmetros do banco de dados que você está dando ao seu script. Se você não conseguir se conectar com o Mysql workbench, talvez seja necessário desabilitar um firewall em seu servidor Mysql, um firewall em seu computador executando PHP ou habilitar o servidor Mysql para aceitar conexões remotas para o banco de dados e nome de usuário que você usa em seu script PHP ( algumas distribuições do servidor MySQL são instaladas para aceitar apenas conexões locais por segurança).

Se o problema for uma permissão no servidor (o usuário só pode se conectar localmente, mas não de um computador remoto, por exemplo), você pode habilitar a permissão no servidor Mysql com o comando GRANT:http://dev.mysql.com/doc/refman/5.1/en/grant.html