Mysql resolvendo 127.0.0.1 para hostname

Mysql resolvendo 127.0.0.1 para hostname

Estou tentando me conectar ao mysql usando o comando

mysql -h 127.0.0.1

Aparece o erro

ERROR 1045 (28000): Access denied for user 'root'@'mydomain.com' (using password: NO)

Por que 127.0.0.1 está sendo convertido em meu nome de domínio e como posso corrigir isso?

No entanto, funciona se eu não especificar um host (e por extensão, se 'localhost' for especificado).

Editar: Parece que resolve para o nome de domínio ao usar TCP, então também falha ao usar

mysql -h localhost --protocol=TCP

Editar2: Quando uso skip-name-resolve, obtenho uma saída semelhante, exceto que mydomain.comé substituído por x.x.x.xwhich is the public IP of mydomain.com.

Responder1

Eu tinha mascaramento para todos os pacotes externos (inclusive em lo). Remover/editar as iptable -t nat POSTROUTINGregras corrigiu o problema.

Responder2

Provavelmente isso é causado por uma entrada no arquivo hosts.

Responder3

Talvez o mysql esteja escutando apenas no seu ip público e não no 0.0.0.0?

Responder4

1) Verifique /etc/hosts e certifique-se de que 127.0.0.1 aponta apenas para localhost e não para mydomain.com. mydomain.com deve estar associado ao endereço IP real do servidor e não ao localhost.localdomain.

2) Também parece que você definiu a senha para root em sua instância mysql (na verdade, isso é uma coisa boa). Recomendamos adicionar a opção "-p" ao seu login para que fique assim:

mysql -h localhost -p

Em seguida, você será solicitado a inserir a senha do root. Espero que isto ajude.

informação relacionada