Remediere: EROARE 2003 (HY000): Nu se poate conecta la serverul MySQL pe „127.0.0.1” (111)


Acest tutorial are scopul de a explica pașii necesari pentru rezolvarea „EROAREA 2003 (HY000): Nu se poate conecta la serverul MySQL pe „127.0.0.1” (111)” care ar putea apărea atunci când încercați să accesați serverul de baze de date MySQL.

Înainte de a trece mai departe, dacă sunteți un utilizator Linux care este nou la MySQL/MariaDB, atunci vă puteți gândi să învățați MySQL/MariaDB pentru începători – Partea 1 și 20 Comenzi MySQL (Mysqladmin) pentru administrarea bazelor de date în Linux de asemenea.

Pe de altă parte, dacă sunteți deja un utilizator MySQL intermediar/experimentat, puteți stăpâni aceste 15 Sfaturi utile de optimizare și optimizare a performanței MySQL/MariaDB.

Notă: pentru acest tutorial, se presupune că ați instalat deja serverul de baze de date mysql.

Revenind la punctul focal, care sunt unele dintre posibilele cauze ale acestei erori?

  1. Eșec de rețea, mai ales dacă serverul de baze de date mysql rulează pe o gazdă la distanță.
  2. Niciun server mysql nu rulează pe gazda menționată.
  3. Firewall blochează conexiunea TCP-IP sau alte motive conexe.

Mai jos sunt pașii esențiali pentru a face față.

1. Dacă serverul de baze de date se află pe o mașină la distanță, atunci încercați să testați conectivitatea client-server utilizând comanda ping, de exemplu:

ping server_ip_address

Odată ce există conectivitate, utilizați comanda ps de mai jos, care arată informații despre o selecție a proceselor active, împreună cu o comandă pipe și grep, pentru a verifica dacă demonul mysql este rulează pe sistemul dvs.

ps -Af | grep mysqld

unde optiunea:

  1. -A – activează selecția tuturor proceselor
  2. -f – activează listarea în format complet

Dacă nu există nicio ieșire de la comanda anterioară, porniți serviciul mysql după cum urmează:

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

După pornirea serviciului mysql, încercați să accesați serverul bazei de date:

mysql -u username -p -h host_address  

2. Dacă încă primiți aceeași eroare, atunci determinați portul (implicit este 3306) pe care ascultă demonul mysql, rulând comanda netstat.

netstat -lnp | grep mysql

unde sunt optiunile:

  1. -l – afișează porturile de ascultare
  2. -n – permite afișarea adreselor numerice
  3. -p – arată PID-ul și numele programului care deține socket-ul

Prin urmare, utilizați opțiunea -P pentru a specifica portul pe care îl vedeți din rezultatul de mai sus în timp ce accesați serverul bazei de date:

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

3. Dacă toate comenzile de mai sus rulează cu succes, dar încă vedeți eroarea, deschideți fișierul de configurare mysql.

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

Căutați rândul de mai jos și comentați-l folosind caracterul #:

bind-address = 127.0.0.1 

Salvați fișierul și ieșiți, apoi reporniți serviciul mysql astfel:

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

Cu toate acestea, dacă aveți firewallD sau Iptables care rulează, încercați să revizuiți serviciile firewall și să deschideți portul mysql, presupunând că firewall-ul blochează conexiunile TCP-IP la serverul dvs. mysql.

Asta e tot! Cunoașteți alte metode sau aveți sugestii pentru a rezolva eroarea de conexiune MySQL de mai sus? Anunțați-ne lăsând un comentariu prin formularul de feedback de mai jos.