Popravak: POGREŠKA 2003 (HY000): Ne mogu se spojiti na MySQL poslužitelj na '127.0.0.1' (111)


Ovaj vodič ima za cilj objasniti potrebne korake za rješavanje “GREŠKE 2003 (HY000): Ne mogu se povezati s MySQL poslužiteljem na '127.0.0.1' (111)” koji se može pojaviti kada pokušate pristupite MySQL poslužitelju baze podataka.

Prije nego što krenete dalje, ako ste korisnik Linuxa koji tek počinje koristiti MySQL/MariaDB, razmislite o učenju MySQL/MariaDB za početnike – 1. dio i 20 MySQL (Mysqladmin) naredbi za administraciju baze podataka u Linux također.

S druge strane, ako ste već srednji/iskusni MySQL korisnik, možete savladati ovih 15 korisnih MySQL/MariaDB savjeta za podešavanje i optimizaciju performansi.

Napomena: Za ovaj vodič, pretpostavlja se da ste već instalirali mysql poslužitelj baze podataka.

Vraćajući se na točku fokusa, koji su neki od mogućih uzroka ove pogreške?

  1. Kvar mreže, posebno ako mysql poslužitelj baze podataka radi na udaljenom hostu.
  2. Nijedan mysql poslužitelj nije pokrenut na spomenutom hostu.
  3. Vatrozid blokira TCP-IP vezu ili drugi povezani razlozi.

U nastavku su osnovni koraci za rješavanje toga.

1. Ako je poslužitelj baze podataka na udaljenom računalu, pokušajte testirati vezu klijent-poslužitelj pomoću naredbe ping, na primjer:

ping server_ip_address

Kada se uspostavi povezanost, upotrijebite naredbu ps u nastavku koja prikazuje informacije o odabiru aktivnih procesa, zajedno s naredbom pipe i grep, kako biste provjerili je li demon mysql radi na vašem sustavu.

ps -Af | grep mysqld

gdje je opcija:

  1. -A – aktivira odabir svih procesa
  2. -f – omogućuje popis u punom formatu

Ako nema izlaza iz prethodne naredbe, pokrenite mysql uslugu na sljedeći način:

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

Nakon pokretanja mysql usluge pokušajte pristupiti poslužitelju baze podataka:

mysql -u username -p -h host_address  

2. Ako i dalje dobivate istu pogrešku, odredite port (zadani je 3306) na kojem mysql demon sluša tako što ćete pokrenuti naredbu netstat.

netstat -lnp | grep mysql

gdje su opcije:

  1. -l – prikazuje priključke za slušanje
  2. -n – omogućuje prikaz brojčanih adresa
  3. -p – prikazuje PID i naziv programa koji posjeduje utičnicu

Stoga upotrijebite opciju -P da navedete port koji vidite u izlazu iznad dok pristupate poslužitelju baze podataka:

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

3. Ako se sve gore navedene naredbe uspješno izvode, ali i dalje vidite pogrešku, otvorite mysql konfiguracijsku datoteku.

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

Potražite redak ispod i komentirajte ga pomoću znaka #:

bind-address = 127.0.0.1 

Spremite datoteku i izađite, a zatim ponovno pokrenite mysql uslugu ovako:

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

Međutim, ako imate pokrenut firewallD ili Iptables, pokušajte pregledati usluge vatrozida i otvoriti mysql port, pod pretpostavkom da vatrozid blokira TCP-IP veze s vašim mysql poslužiteljem.

To je sve! Znate li druge metode ili imate prijedloge za rješavanje gore navedene pogreške povezivanja s MySQL-om? Javite nam komentarom putem obrasca za povratne informacije u nastavku.