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


El objetivo de este tutorial es explicar los pasos necesarios para resolver el " ERROR 2003 (HY000): No se puede conectar con el servidor MySQL en '127.0.0.1' (111) " que puede ocurrir cuando intenta acceder al servidor de base de datos MySQL.

Antes de seguir adelante, si es un usuario de Linux que es 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 otra parte, si ya es un usuario de MySQL intermedio/experimentado, puede dominar estos 15 consejos útiles de optimización y optimización de rendimiento de MySQL/MariaDB.

rojo

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

  1. Network failure especially if mysql database server is running on remote host.
  2. No mysql server is running on the mentioned host.
  3. Firewall blocking TCP-IP connection or other related reasons.

A continuación se presentan los pasos esenciales para hacer frente a ella.

1. Si el servidor de la base de datos está en una máquina remota, intente probar la conectividad cliente-servidor con 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 los procesos activos, junto con un pipe y el comando grep, para verificar que el demonio mysql es corriendo en tu sistema

$ ps -Af | grep mysqld

donde la opción:

  1. -A – activates selection of all processes
  2. -f – enables full format listing

Si no hay salida 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 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 el daemon mysql está escuchando ejecutando el comando netstat.

$ netstat -lnp | grep mysql

donde las opciones:

  1. -l – displays listening ports
  2. -n – enables display of numerical addresses
  3. -p – shows PID and name of the program owning the socket

Por lo tanto, use la opción -P para especificar el puerto que ve en la salida 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 de 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 del firewall y abrir 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 de MySQL anterior? Háganos saber al dejar un comentario a través del formulario de comentarios a continuación.