
Soy muy nuevo en MySQL y quiero utilizar el inicio de sesión remoto. Seguí esto.pilaproceso pero el comando no me muestra nada en la pantalla como se indica en ese enlace
$ lsof -i -P | grep :3306
$
esta es la salida.
Lo que hice hasta ahora: Edité el archivo/etc/mysql/my.cnfpara hacer cambios y se ve así
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
Lo que quiero básicamente es iniciar sesión de forma remota, pero no puedo hacerlo. Ejecuto el siguiente comando en mi terminal
$ mysql -h 127.6.110.2 -u adminTwz5PWn -p
$ enter password:
ERROR 1045 (28000): Access denied for user 'adminTwz5PWn'@'localhost' (using password: YES)
Para obtener la información necesaria, obtuve este nombre de usuario y contraseña de Openshift. Mi preocupación es cómo @'localhost' entra en escena si proporciono la IP del host en el comando.
Tengo un usuario que inicia sesión en MySQL de la siguiente manera
+------------------+---------------+
| user | host |
+------------------+---------------+
| root | % |
| root | 127.0.0.1 |
| adminvKbP1kf | 127.3.138.130 |
| adminTwz5PWn | 127.6.110.2 |
| root | ::1 |
| user | hostname |
| debian-sys-maint | localhost |
| phpmyadmin | localhost |
| phpmyadmin_suraj | localhost |
| root | localhost |
| suraj | localhost |
+------------------+---------------+
Por favor corríjanme si me equivoco en algún punto. ¿Y qué pasos se necesitan para que esto sea exitoso?
Respuesta1
Todo el rango de IP 127.0.0.0/8
está reservado para loopback. Aunque la gente comúnmente usa solo 127.0.0.1
, la IP 127.6.110.2
también es un bucle invertido y, por lo tanto, aparece el "error de localhost".
En su servidor MySQL, ejecute ip a
o ifconfig
para averiguar su dirección IP pública y luego conéctese a esa dirección.
También necesitará tener un usuario de MySQL que pueda conectarse desde una máquina remota. Ejecute mysql
en su servidor para abrir la consola MySQL y ejecute una de estas consultas (cambie el NOMBRE DE USUARIO y la CONTRASEÑA con sus credenciales):
Para permitir que un usuario remoto se conecte solo desde una IP xxxx específica:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'x.x.x.x' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
Para permitir que un usuario remoto se conecte desde cualquier lugar:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
Para garantizar que estas consultas surtan efecto, ejecútelas FLUSH PRIVILEGES;
.