Búsqueda de sitios web

Solución: ERROR 2003 (HY000): No se puede conectar al servidor MySQL en '127.0.0.1' (111)


Este tutorial tiene como objetivo explicar los pasos necesarios para resolver el “ERROR 2003 (HY000): No se puede conectar al servidor MySQL en '127.0.0.1' (111)” que puede ocurrir al intentar acceder al servidor de base de datos MySQL.

Antes de continuar, si es un usuario de Linux nuevo en MySQL/MariaDB, puede considerar aprender MySQL/MariaDB para principiantes: Parte 1 y 20 comandos de MySQL (Mysqladmin) para la administración de bases de datos en Linux también.

Por otro lado, si ya es un usuario intermedio/experimentado de MySQL, puede dominar estos 15 consejos útiles para la optimización y el ajuste del rendimiento de MySQL/MariaDB.

Nota: Para este tutorial, se supone que ya ha instalado el servidor de base de datos MySQL.

Volviendo al punto central, ¿cuáles son algunas de las posibles causas de este error?

  1. Fallo de la red, especialmente si el servidor de base de datos MySQL se ejecuta en un host remoto.
  2. No se está ejecutando ningún servidor MySQL en el host mencionado.
  3. Firewall que bloquea la conexión TCP-IP u otros motivos relacionados.

A continuación se detallan los pasos esenciales para abordarlo.

1. Si el servidor de la base de datos está en una máquina remota, intente probar la conectividad cliente-servidor usando el comando ping, por ejemplo:

ping server_ip_address

Una vez que haya conectividad, use el comando ps a continuación, que muestra información sobre una selección de procesos activos, junto con un comando pipe y grep, para verificar que el demonio mysql esté ejecutándose en su sistema.

ps -Af | grep mysqld

donde la opción:

  1. -A – activa la selección de todos los procesos
  2. -f – habilita el listado en formato completo

Si no hay resultados del comando anterior, inicie el servicio mysql de la siguiente manera:

sudo systemctl start mysql.service
sudo systemctl start mariadb.service
OR
sudo /etc/init.d/mysqld start

Después de iniciar el servicio mysql, intente acceder al servidor de la base de datos:

mysql -u username -p -h host_address  

2. Si aún recibe el mismo error, determine el puerto (el valor predeterminado es 3306) en el que escucha el demonio mysql ejecutando el comando netstat.

netstat -lnp | grep mysql

donde las opciones:

  1. -l – muestra los puertos de escucha
  2. -n – habilita la visualización de direcciones numéricas
  3. -p – muestra el PID y el nombre del programa propietario del socket

Por lo tanto, utilice la opción -P para especificar el puerto que ve en el resultado anterior al acceder al servidor de la base de datos:

mysql -u username -p -h host_address -P port

3. Si todos los comandos anteriores se ejecutan correctamente, pero aún ve el error, abra el archivo de configuración mysql.

vi /etc/mysql/my.cnf
OR
vi /etc/mysql/mysql.conf.d/mysqld.cnf 

Busque la línea a continuación y coméntela usando el carácter #:

bind-address = 127.0.0.1 

Guarde el archivo y salga, luego reinicie el servicio mysql así:

sudo systemctl start mysql.service
sudo systemctl start mariadb.service
OR
sudo /etc/init.d/mysqld start

Sin embargo, si tiene firewallD o Iptables en ejecución, intente revisar los servicios de firewall y abra el puerto mysql, asumiendo que es un firewall que bloquea las conexiones TCP-IP a su servidor mysql.

¡Eso es todo! ¿Conoce otros métodos o tiene sugerencias para resolver el error de conexión MySQL anterior? Háganos saber dejando un comentario a través del formulario de comentarios a continuación.