Conectar cliente mysql win a serv ubuntu por tcp

Tengo en win 7 un vmware con un UBUNTU 10.04 32 desktop dentro, le instale MySQL y aplicaciones para usarlo. Le puse una ip estática al adaptador de red, y como gateway la ip del router con lo cual tengo internet en ubuntu. En el hosts puse una entrada localhost 127.0.0.1 y otra ubuntu 192.168.1.81 ( esta ultima es la dir de IP estática del ubuntu ). El ping a 192.168.1.81 funciona tanto desde el windows como desde linux. En ubuntu el TELNET localhost 3306 funciona, pero el telnet 192.168.1.81 me da Connection refused. El my. Cfg fue probado con bind-address = 0.0.0.0, con bind-address= 192.168.1.81, con esa entrada comentada, sin la entrada de skip networking (comentada) el puerto es correcto, en PROTOCOL puse TCP, de hecho es posible conectarme estando en UBUNTU desde linea de comando y por las aplicaciones graficas tambien, pero indicando LOCALHOST o 127.0.0.1, pero NO ME FUNCIONA si le pongo 192.168.1.81 al querer conectar, indicando un error 2003 de que no se pudo conectar. Desde windows con el firewall apagado no me puedo conectar tampoco. En IpTables abrí el puerto para poder ingresar sin problemas. Le di GRANT PRIVILEGES a todos los usuarios sobre todas las DBs. Hice restart del servicio MySQL. Tras todas estas pruebas no he podido lograr conectarme a través de la IP ni desde UBUNTU ni desde WINDOWS. No obstante se puede navegar tanto desde uno como desde el otro. He buscado mucho por google y aplicado todos los consejos que vi, pero no logre conectarlo. Necesito hacerlo andar si o si para un trabajo.
Respuesta
1
En una instalación básica mysql está a la escucha solo en la interfaz loopback.
Netstat -ntulp te mostrará que solo está a la escucha en 127.0.0.1:3306
En /etc/mysql/my.cnf, en la seccion mysqld debieras ver algo como:
bind-address = 127.0.0.1
Reemplaza el 127.0.0.1 por la dirección de la tarjeta de red a través de la cual deseas acceder y reinicia el servicio
Si quieres que mysql escuche en todas las interfaces loop y eth usa bind-address=0.0.0.0
y por ultimo dale permisos a los usuarios de mysql a que entren de otro lado, el usuario normal es usuario@localhost y tienes que poner usuario@(host que se va a conectar)

3 respuestas más de otros expertos

Respuesta
1
Me ah pasado que al querer levantar el servicio MySQL en Debian, tener que tocar en /etc/mysql/my.cfg
Revisa esta, creo que viene comentada. Realmente no recuerdo cual es...
Pero has pruebas descomenta y reinicia el servicio. Es una variable de configuración, que por seguridad no te deja usar salvo localhost.
Empieza por esta, como que le tengo idea que es esa:
Skip-external-locking
En el mio esta activa esa opción:
Respuesta
1
Por lo que me comentas, suena a conflicto de IP. Esto suele pasar en entornos virtuales al no configurar apropiadamente las tarjetas de red de la máquina host. Te recomendaría que pusieras en vmware el adaptador de red virtual en modo bridged, y después configuraras la red en Ubuntu. Por los síntomas que describes parece que el adaptador de red virtual en el host y la máquina ubuntu comparten la misma ip, y ubuntu se lía.
Respuesta
1
Primero verifica que el puerto realmente esté escuchando por todas las interfaces usando el comando: netstat -ptan | grep 3306
¿Cómo verificas que realmente el puerto está abierto en el firewall? ¿Cómo lo abriste? Y si ejecutas el comando 'iptables -nL' ¿aparece abierto?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas