Popravka: GREŠKA 2003 (HY000): Ne mogu se povezati na MySQL server na '127.0.0.1' (111)


Ovaj vodič ima za cilj da objasni neophodne korake za rešavanje „GREŠKE 2003 (HY000): Ne mogu da se povežem na MySQL server na '127.0.0.1' (111) ” koji se može pojaviti kada pokušate da pristupite MySQL serveru baze podataka.

Prije nego što krenete dalje, ako ste korisnik Linuxa koji je nov u MySQL/MariaDB, onda možete razmisliti o učenju MySQL/MariaDB za početnike – 1. dio i 20 MySQL (Mysqladmin) naredbi za administraciju baze podataka u Linux takođe.

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

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

Da se vratimo na tačku fokusa, koji su neki od mogućih uzroka ove greške?

  1. Greška mreže posebno ako mysql server baze podataka radi na udaljenom hostu.
  2. Nijedan mysql server ne radi na pomenutom hostu.
  3. Zaštitni zid blokira TCP-IP vezu ili drugi srodni razlozi.

Ispod su osnovni koraci za rješavanje toga.

1. Ako je server baze podataka na udaljenom računaru, pokušajte testirati povezanost klijent-server koristeći naredbu ping, na primjer:

ping server_ip_address

Kada postoji povezanost, koristite naredbu ps ispod koja prikazuje informacije o odabiru aktivnih procesa, zajedno sa pipe i grep komandom, da provjerite da li je mysql demon radi na vašem sistemu.

ps -Af | grep mysqld

gdje je opcija:

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

Ako nema izlaza iz prethodne naredbe, pokrenite mysql servis 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 servisa, pokušajte pristupiti serveru baze podataka:

mysql -u username -p -h host_address  

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

netstat -lnp | grep mysql

gdje su opcije:

  1. -l – prikazuje portove za slušanje
  2. -n – omogućava prikaz numeričkih adresa
  3. -p – prikazuje PID i naziv programa koji posjeduje socket

Stoga koristite opciju -P da navedete port koji vidite iz gornjeg izlaza dok pristupate serveru baze podataka:

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

3. Ako se sve gore navedene komande pokreću uspješno, ali i dalje vidite grešku, otvorite mysql konfiguracijsku datoteku.

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

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

bind-address = 127.0.0.1 

Sačuvajte fajl i izađite, nakon toga ponovo pokrenite mysql servis na sledeći način:

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 da pregledate usluge zaštitnog zida i otvorite mysql port, pod pretpostavkom da firewall blokira TCP-IP veze sa vašim mysql serverom.

To je sve! Da li znate druge metode ili imate prijedloge za rješavanje gornje greške MySQL veze? Javite nam tako što ćete ostaviti komentar putem obrasca za povratne informacije ispod.