remote hy000 error mysql debian iptables mysql-error-2003

error 2003 hy000): can t connect to mysql server on remote server



Intentando conectar con el host remoto de MySQL(error 2003) (5)

Tengo una instancia de MySQL que se ejecuta en un servidor Debian y puedo conectarme localmente sin problemas. Sin embargo, no puedo conectarme de forma remota. Cuando intento esto desde mi línea de comando obtengo el siguiente error:

ERROR 2003 (HY000): Can''t connect to MySQL server on ''<server-ip>'' (110)

He añadido el usuario a mysql como ''usuario'' @ ''*'' y ''usuario'' @ ''localhost''. skip-networking en este servidor se establece en falso y la dirección de enlace se comenta en my.cnf. También intenté abrir el puerto 3306 en iptables usando el siguiente comando:

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

Aquí hay una lista de todas mis reglas de cortafuegos de iptable, que obtuve usando iptables -L:

Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere REJECT tcp -- anywhere anywhere tcp dpt:auth reject-with icmp-port-unreachable ACCEPT icmp -- anywhere anywhere icmp type 8 code 0 state NEW,RELATED,ESTABLISHED,UNTRACKED ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:ftp state NEW ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:ssh state NEW ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:www state NEW ACCEPT tcp -- <my-server> anywhere tcp spts:1024:65535 dpt:mysql state NEW ACCEPT tcp -- anywhere anywhere tcp dpts:49152:65534 state NEW ACCEPT tcp -- anywhere anywhere tcp dpt:mysql LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '' ACCEPT tcp -- anywhere anywhere tcp dpt:mysql LOG tcp -- anywhere anywhere tcp dpt:mysql LOG level debug Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination

¿Alguien tiene alguna idea de dónde debo ir desde aquí?


Debe verificar la configuración de su servidor MySQL para ver si se enlaza con 127.0.0.1, entonces solo puede conectarse a mysql si su aplicación está en el mismo servidor. Hay una manera fácil, tener un webamin instalado y puede controlarlo a través de la interfaz web.


Esto puede deberse a que el puerto 3306 está cerrado, verifique el estado del puerto de su servidor

http://www.yougetsignal.com/tools/open-ports/

Si aparece cerrado, significa que no puede acceder a él desde fuera de la máquina para abrir el puerto

ufw - Firewall sin complicaciones

La herramienta de configuración predeterminada de firewall para Ubuntu es ufw. Los siguientes son algunos ejemplos de cómo usar ufw:

Primero, ufw necesita ser habilitado. Desde un indicador de terminal ingrese:

sudo ufw enable

Para abrir un puerto (mysql):

sudo ufw allow 3306

Para ver el estado del firewall, ingrese:

sudo ufw status


Según su respuesta, debe encontrar si hay un dispositivo entre usted y el servidor que bloquee su conexión. También debe asegurarse de poder hacer telnet al 3306 en la dirección de Ethernet de ese servidor cuando esté conectado al servidor ... de lo contrario, es probable que no haya vinculado el servicio a la my.cnf Ethernet en my.cnf ... vea el parámetro de bind-address .


Si usa la conexión VPN para conectar el servidor de base de datos remoto y recibió este tipo de error, simplemente eche un vistazo a dos pasos simples ...

1) En Windows Machine, vaya a la ruta "Panel de control / Red e Internet / Conexiones de red" y haga clic derecho en la red de área local y vaya a Propiedades. Haga clic en TCP / IPv4 y vaya a las propiedades. Asegúrese de que el servidor IP y DNS (si utiliza DHCP o no?).

2) Después de esto, reinicie la máquina y vuelva a comprobarlo.

Espero que esto funcione. En mi caso funciona.

Nota: asegúrese de que todas las configuraciones sean correctas. Esta respuesta es divertida pero funciona en mi caso :)

¡Gracias!


para mí, esto fue habilitar el puerto 3306 en el /etc/default/iptables para permitir el tráfico entrante desde cualquier host al descomentar la línea a continuación:

#-A INPUT -p tcp --dport 3306 -j ACCEPT