No se puede conectar al servidor MySQL error 111 [cerrado]


152

Instalé el servidor mysql en Linux box IP = 192.168.1.100 pero cuando intento conectarme a esta IP siempre aparece el error (111). pero use localhost y 127.0.0.1 está bien.

cerveza @ cerveza-laptop # ifconfig | grep "inet addr"
          inet addr: 127.0.0.1 Máscara: 255.0.0.0
          inet addr: 192.168.1.100 Bcast: 192.168.1.255 Máscara: 255.255.255.0

cerveza @ cerveza-laptop # mysql -ubeer -pbeer -h192.168.1.100
ERROR 2003 (HY000): no se puede conectar al servidor MySQL en '192.168.1.100' (111)

cerveza @ cerveza-laptop # mysql -ubeer -pbeer -hlocalhost
Bienvenido al monitor MySQL. Los comandos terminan con; o \ g.
Su ID de conexión MySQL es 160
Versión del servidor: 5.1.31-1ubuntu2 (Ubuntu)

Escriba "ayuda"; o '\ h' para obtener ayuda. Escriba '\ c' para borrar el búfer.

mysql> 

cerveza @ cerveza-laptop # mysql -ubeer -pbeer -h127.0.0.1
Bienvenido al monitor MySQL. Los comandos terminan con; o \ g.
Su ID de conexión MySQL es 161
Versión del servidor: 5.1.31-1ubuntu2 (Ubuntu)

Escriba "ayuda"; o '\ h' para obtener ayuda. Escriba '\ c' para borrar el búfer.

mysql> 

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

otro @ otro-portátil # mysql -ubeer -pbeer -h192.168.1.100
ERROR 2003 (HY000): no se puede conectar al servidor MySQL en '192.168.1.100' (111)

Cómo diferencia entre usar 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.

Respuestas:


263

Probablemente significa que su servidor MySQL solo está escuchando la interfaz localhost.

Si tienes líneas como esta:

bind-address = 127.0.0.1

En su my.cnfarchivo de configuración , debe comentarlos (agregue un # al comienzo de las líneas) y reinicie MySQL.

sudo service mysql restart

Por supuesto, para hacer esto, debe ser el administrador del servidor.


66
obviamente, él no tiene la skip-networkinglínea ;-)
Michael Krelin - hacker

11
cómo saber mysql my.cnf ubicación: stackoverflow.com/questions/2482234/…
Cyril Jacquart

2
pero, ¿qué sucede cuando PUEDES conectarte desde el banco de trabajo mysql? Tengo el mismo problema.
George Pamfilis

3
Seguí lo que se da en la respuesta, pero aún así no pude hacerlo funcionar. Luego descubrí que el parámetro "bind-address" está en el archivo "/etc/mysql/mysql.conf.d/mysqld.cnf". Comentó allí y funcionó!
Yahya

3
las versiones más recientes de ubuntu> = 16.04 pueden tener esta línea en /etc/mysql/mysql.conf.d/myqld.cnf
dellasavia

38

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

Para modificarlo, es posible que desee ver el bind-addressvalor en la mysqldsección de su my.cnfarchivo.


También vale la pena verificar si el número de puerto es válido. No coincide :3306y :3307puede dar como resultado un error 111 también.
NXT

2
@NXT, ni siquiera sé si mysql puede escuchar en diferentes puertos en diferentes interfaces, pero es un escenario muy poco probable (dados los síntomas en la publicación original), incluso si puede. Entonces puede haber reglas de firewall, etc. Hay muchas maneras de lograrlo, pero la probabilidad es diferente ...
Michael Krelin - hacker

No siempre significa eso. Mis my.cnfarchivos no tienen ninguna bind-addresso skip-networkinglíneas, y aún así obtengo el mismo error. No hay firewall instalado tampoco. Se quedaron sin ideas.
Deleet

Bueno, 111 siempre significa conexión rechazada :) Y el localhost solo es en este caso particular debido a otra evidencia. Si proporciona más detalles sobre su caso, ¿puedo ayudarlo? Además, dependiendo de su sistema hoy en día, es probable que tenga una configuración dispersa en varios archivos.
Michael Krelin - hacker

10

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

Si puede iniciar sesión rooten mysql, entonces debe agregar esto:

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 ;

Luego intente conectarse nuevamente usando mysql -ubeer -pbeer -h192.168.1.100. Deberia de funcionar.


17
no creo que el error relacionado con los privilegios del usuario dé el error 111.
ufk

1
En realidad funcionó, y también recibí un error 111.
Borjante

Parece que esta es una mejor solución que abrir mysql a toda la red comentando la línea 127.0.0.1. Debería ser la mejor solución.
nyxee

7

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


1
Un buen "aviso" para ver si es un cortafuegos que causa el error es que tomará bastante tiempo para que se devuelva el error. Si MySQL está causando problemas, la respuesta debería ser casi instantánea.
Grim ...

¿Puedes explicar cómo se hace esto?
Usuario
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.