2009-09-14 22 views
111

Instalé el servidor mysql en la caja de linux IP = 192.168.1.100 pero cuando intento conectarme a esta IP siempre se produce un error (111). pero use localhost y 127.0.0.1 está bien.No se puede conectar con el error del servidor MySQL 111

 
[email protected]# ifconfig | grep "inet addr" 
      inet addr:127.0.0.1 Mask:255.0.0.0 
      inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 

[email protected]# mysql -ubeer -pbeer -h192.168.1.100 
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (111) 

[email protected]# mysql -ubeer -pbeer -hlocalhost 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 160 
Server version: 5.1.31-1ubuntu2 (Ubuntu) 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

mysql> 

[email protected]# mysql -ubeer -pbeer -h127.0.0.1 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 161 
Server version: 5.1.31-1ubuntu2 (Ubuntu) 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

mysql> 

Connect desde otra máquina también error 111.

 
[email protected]# mysql -ubeer -pbeer -h192.168.1.100 
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (111) 

Cómo diferencia entre el uso de localhost/127.0.0.1 y 192.168.1.100 en este caso. No sé cómo conectarme a esta base de datos desde otra máquina.

Ayuda por favor. Gracias.

Respuesta

213

Probablemente significa que su servidor MySQL solo está escuchando la interfaz del host local.

Si usted tiene líneas de este tipo:

skip-networking 
bind-address = 127.0.0.1 

En su my.cnf configuration file, debe comentarlas (Agrega un # al principio de las líneas) y reinicie MySQL.

sudo service mysql restart 

Por supuesto, para ello, debe ser el administrador del servidor.

+6

obviamente, él no tiene la línea 'skip-networking' ;-) –

+6

cómo saber la ubicación mysql my.cnf: http://stackoverflow.com/questions/2482234/how-to-know-mysql-my- cnf-location –

+0

, pero ¿qué sucede cuando PUEDES conectarte desde mysql workbench? Tengo el mismo problema. –

32

111 significa conexión rechazada, que a su vez significa que su mysqld solo escucha la interfaz localhost.

Para modificarlo, puede consultar el valor en la sección mysqld de su archivo my.cnf.

+0

También vale la pena comprobar si el número de puerto es válido. La falta de coincidencia ': 3306' y': 3307' también puede provocar un error de 111. – NXT

+0

@NXT, ni siquiera sé si mysql puede escuchar en diferentes puertos en diferentes interfaces, pero es muy poco probable (dado los síntomas en la publicación original) incluso si puede. Entonces puede haber reglas de firewall, etc. Hay muchas maneras de lograr eso, pero la probabilidad es diferente ... –

+0

No siempre significa eso. Mis archivos 'my.cnf' no tienen ninguna línea' bind-address' o 'skip-networking', y aun así obtengo el mismo error. No firewall instalado tampoco. Se quedó sin ideas. – Deleet

7

Si todas las respuestas anteriores no dieron ninguna solución, debe verificar sus privilegios de usuario.

Si se pudiera iniciar la sesión como root a MySQL entonces debería añadir lo siguiente:

CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY '***'; 
GRANT ALL PRIVILEGES ON * . * TO 'root'@'192.168.1.100' IDENTIFIED BY '***' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; 

continuación, intente conectarse de nuevo utilizando mysql -ubeer -pbeer -h192.168.1.100. Deberia de funcionar.

+14

no creo que el error relacionado con los privilegios del usuario daría el error 111. – ufk

+1

En realidad funcionó, y también recibí el error 111. – Borjante

+0

parece que esta es una mejor solución que abrir mysql a toda la red al comentar la línea 127.0.0.1. debería ser la mejor solución. – nyxee

6

Si está ejecutando cPanel/WHM, asegúrese de que la IP esté incluida en la lista blanca en el firewall. También necesitará agregar esa IP a la lista remota de IP de SQL en la cuenta de cPanel a la que está tratando de conectarse.

+0

Un buen "tell" para ver si se trata de un firewall que causa el error es que demorará bastante tiempo para que se devuelva el error. Si MySQL está causando problemas, la respuesta debería ser bastante instantánea. –

Cuestiones relacionadas