MySQL resolviendo 127.0.0.1 al nombre de host

MySQL resolviendo 127.0.0.1 al nombre de host

Estoy intentando conectarme a mysql usando el comando

mysql -h 127.0.0.1

Me sale el error

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

¿Por qué se convierte 127.0.0.1 a mi nombre de dominio y cómo puedo solucionarlo?

Sin embargo, funciona si no especifico un host (y por extensión, si se especifica 'localhost').

Editar: Parece que se resuelve en el nombre de dominio cuando se usa TCP, por lo que también falla cuando se usa

mysql -h localhost --protocol=TCP

Editar2: Cuando uso skip-name-resolve obtengo un resultado similar excepto que mydomain.comse reemplaza por x.x.x.xcuál es la IP pública de mydomain.com.

Respuesta1

Me enmascaré para todos los paquetes externos (incluido lo). Eliminar/editar las iptable -t nat POSTROUTINGreglas solucionó el problema.

Respuesta2

Lo más probable es que esto se deba a una entrada en el archivo de hosts.

Respuesta3

¿Quizás mysql esté escuchando solo en su IP pública y no en 0.0.0.0?

Respuesta4

1) Verifique /etc/hosts y asegúrese de que 127.0.0.1 apunte solo a localhost y no a mydomain.com. mydomain.com debe estar asociado con la dirección IP real del servidor y no con localhost.localdomain.

2) También parece que ha configurado la contraseña para root en su instancia de MySQL (en realidad, esto es algo bueno). Recomiende agregar el modificador "-p" a su inicio de sesión para que se vea así:

mysql -h localhost -p

Luego se le pedirá que ingrese la contraseña de root. Espero que esto ayude.

información relacionada