Correcció: ERROR 2003 (HY000): no es pot connectar al servidor MySQL a 127.0.0.1 (111)


Aquest tutorial pretén explicar els passos necessaris per resoldre l'ERROR 2003 (HY000): No es pot connectar al servidor MySQL a '127.0.0.1' (111) que es pot produir quan intenteu accedir al servidor de bases de dades MySQL.

Abans d'avançar, si sou un usuari de Linux que és nou a MySQL/MariaDB, podeu considerar també aprendre 20 ordres de MySQL (Mysqladmin) per a l'administració de bases de dades a Linux.

D'altra banda, si ja sou un usuari de MySQL intermedi/experimentat, podeu dominar aquests 15 consells útils d'optimització i optimització del rendiment de MySQL/MariaDB.

Nota: Per a aquest tutorial, se suposa que ja heu instal·lat el servidor de bases de dades mysql.

Tornant al punt d'atenció, quines són algunes de les possibles causes d'aquest error?

  1. Error a la xarxa, especialment si el servidor de bases de dades mysql s'està executant a un host remot.
  2. No s'està executant cap servidor mysql a l'amfitrió esmentat.
  3. El tallafoc que bloqueja la connexió TCP-IP o altres motius relacionats.

A continuació es detallen els passos essencials per fer-hi front.

1. Si el servidor de bases de dades es troba en una màquina remota, intenteu provar la connectivitat client-servidor mitjançant l'ordre ping, per exemple:

$ ping server_ip_address

Un cop hi hagi connectivitat, utilitzeu l'ordre ps a continuació que mostra informació sobre una selecció dels processos actius, juntament amb una comanda pipe i grep, per comprovar que el dimoni mysql està executant-se al vostre sistema.

$ ps -Af | grep mysqld

on l'opció:

  1. -A: activa la selecció de tots els processos
  2. -f: activa la llista de format complet

Si no hi ha cap sortida de l'ordre anterior, inicieu el servei mysql de la següent manera:

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

Després d'iniciar el servei mysql, intenteu accedir al servidor de bases de dades:

$ mysql -u username -p -h host_address  

2. Si encara obteniu el mateix error, determineu el port (per defecte és 3306) on escolta el dimoni mysql executant l'ordre netstat.

$ netstat -lnp | grep mysql

on les opcions:

  1. -l: mostra els ports d'escolta
  2. -n: permet la visualització d'adreces numèriques
  3. -p: mostra el PID i el nom del programa propietari del sòcol

Per tant, utilitzeu l'opció -P per especificar el port que veieu a la sortida anterior mentre accediu al servidor de base de dades:

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

3. Si totes les ordres anteriors s'executen correctament, però encara veieu l'error, obriu el fitxer de configuració de mysql.

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

Busqueu la línia següent i comenta-la utilitzant el caràcter #:

bind-address = 127.0.0.1 

Deseu el fitxer i sortiu, després reinicieu el servei mysql així:

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

Tanmateix, si teniu Iptables en execució, proveu de revisar els serveis del tallafoc i obrir el port mysql, suposant que el tallafoc bloqueja les connexions TCP-IP al vostre servidor mysql.

Això és tot! Coneixeu altres mètodes o teniu suggeriments per resoldre l'error de connexió de MySQL anterior? Feu-nos-ho saber deixant un comentari mitjançant el formulari de comentaris que hi ha a continuació.