2011-04-19 15 views
25

Tengo una instancia de MySQL ejecutándose en un servidor Debian y puedo conectarme a ella localmente sin problemas. Sin embargo, no puedo conectarme de forma remota. Cuando intento esto desde mi línea de comandos me sale el siguiente error:Intentando conectarme a un servidor MySQL remoto (error 2003)

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

He añadido al usuario a MySQL como 'usuario' @ '*' y 'usuario' @ 'localhost'. skip-networking en este servidor está configurado como falso y la dirección de vinculación está comentada en my.cnf. También he intentado abrir el puerto 3306 en iptables usando el siguiente comando:

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

Aquí es una lista de todas mis reglas de firewall iptable, que retreived el uso de 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 

¿El Alguien tiene alguna idea de a dónde debería ir desde aquí?

+0

¿Qué sucede cuando telnet a '' en 3306? –

+0

@Mike: obtengo el mensaje "telnet: no se puede conectar al host remoto: se agotó el tiempo de espera de la conexión". – hellsgate

+0

El error 2003 se detalla aquí: http://www.webyog.com/faq/content/23/15/en/error-no-2003-can_t-connect.html –

Respuesta

12

Según su respuesta, necesita encontrar si hay un dispositivo entre usted y el servidor que bloquea su conexión. También debe asegurarse de que puede telnet a 3306 en la dirección de Ethernet de ese servidor cuando inicia sesión en el servidor ... de lo contrario, probablemente no haya conectado el servicio a la red Ethernet en my.cnf ... consulte el parámetro bind-address.

+0

Gracias por esto. Creo que hay un dispositivo entre el servidor y yo. He preguntado sobre el lugar donde reside el servidor y estoy esperando una respuesta en este momento. Puedo telnet a 3306 cuando me conecto al servidor, aunque la conexión se cierra bastante rápido. Publicaré más mientras lo descubro. – hellsgate

+0

Logré obtener acceso a través del dispositivo intermedio y ahora puedo conectarme de forma remota. ¡Aclamaciones! – hellsgate

1

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

+0

De la pregunta "la dirección de enlace está comentada" – hellsgate

1

Esto puede ser debido a 3306 puerto está cerrado, comprobar el estado de puerto del servidor

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

Si muestra cerrada, eso significa que no puede acceder a él desde fuera del lado de la máquina, para abrir el puerto

ufw - Uncomplicated firewall

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

En primer lugar, debe estar habilitado ufw. Desde una terminal escriba:

sudo ufw enable 

Para abrir un puerto (MySQL):

sudo ufw allow 3306 

para ver el estado del cortafuegos, entre:

sudo ufw status 
0

Si utiliza una conexión VPN para conectar servidor de base de datos remota y usted tiene este tipo de error, entonces simplemente verifíquelo dos simples pasos ...

1) En windo ws, vaya a la ruta "Panel de control \ Redes e Internet \ Conexiones de red" y haga clic con el botón secundario en la red de área local y vaya a las propiedades. Haga clic en TCP/IPv4 y vaya a las propiedades. Asegúrese de que el servidor IP y DNS (si usa DHCP o no?).

2) Después de esto, reinicie la máquina y revíselo.

Espero que esto funcione. En mi caso, funciona.

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

¡Gracias!

Cuestiones relacionadas