De acordo com esta resposta (não aceita) no StackOverflow , o motivo é que o MySQL interpreta localhost
diferentemente de% código%. Isso é confirmado na documentação , veja o parágrafo começando, " No Unix , Os programas MySQL tratam o nome do host 127.0.0.1
especialmente ".
- O
localhost
é um endereço IPv4 explícito, portanto, o cliente tenta se conectar através de TCP / IP - O
127.0.0.1
é uma dica implícita para usar o host local, implementado pelo MySQL, onde possível, por meio de um soquete local, em vez de TCP / IP
Como sua conexão localhost
funciona, mas o localhost
não funciona, parece possível que um desses problemas seja o culpado:
- suas permissões de banco de dados negam uma conexão de
127.0.0.1
- você tem uma regra de firewall bloqueando todas as tentativas de conexão de banco de dados de entrada em TCP / IP
- você alterou a entrada de configuração
127.0.0.1
para o MySQL para que ela não seja vinculada ao endereço de loopback
Dado o código de erro 13 ( permissão negada ), eu investigaria o primeiro deles antes dos outros dois.