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?
- Error a la xarxa, especialment si el servidor de bases de dades mysql s'està executant a un host remot.
- No s'està executant cap servidor mysql a l'amfitrió esmentat.
- 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ó:
-A
: activa la selecció de tots els processos-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:
-l
: mostra els ports d'escolta-n
: permet la visualització d'adreces numèriques-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ó.