He instalado MySQL Community Edition 5.5 en mi máquina local y quiero permitir conexiones remotas para poder conectarme desde una fuente externa.
¿Cómo puedo hacerlo?
Eso está permitido por defecto en MySQL.
Lo que está deshabilitado por defecto es el acceso remoto root
. Si quiere habilitarlo, ejecute este comando SQL localmente:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Y luego busque la siguiente línea y coméntela en su archivo my.cnf
, que normalmente vive en /etc/mysql/my.cnf
en los sistemas Unix/OSX. En algunos casos la ubicación del archivo es /etc/mysql/mysql.conf.d/mysqld.cnf).
Si se trata de un sistema Windows, puede encontrarlo en el directorio de instalación de MySQL, normalmente algo así como C:\NArchivos de Programa\NMySQL\NMySQL Server 5.5
y el nombre del archivo será my.ini
.
Cambie la línea
bind-address = 127.0.0.1
a
#bind-address = 127.0.0.1
Y reinicie el servidor MySQL (Unix/OSX, y Windows) para que los cambios surtan efecto.
En mi caso estaba intentando conectarme a un servidor mysql remoto en cent OS. Después de pasar por un montón de soluciones (concesión de todos los privilegios, la eliminación de los enlaces de IP, la habilitación de la red) el problema todavía no se resuelve.
Mientras buscaba varias soluciones, me encontré con iptables, que me hizo ver que el puerto 3306 de mysql no aceptaba conexiones.
Aquí hay una pequeña nota sobre cómo comprobé y resolví este problema.
telnet (ip del servidor mysql) [portNo]
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
service iptables stop
Espero que esto ayude.
Si su proceso de servidor MySQL está escuchando en 127.0.0.1 o ::1 solamente, entonces no podrá conectarse remotamente. Si tiene una configuración de bind-address
en /etc/my.cnf
este podría ser el origen del problema.
También tendrás que añadir privilegios para un usuario que no sea localhost
.