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?
- Kvar mreže, posebno ako mysql poslužitelj baze podataka radi na udaljenom hostu.
- Nijedan mysql poslužitelj nije pokrenut na spomenutom hostu.
- 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:
-A
– aktivira odabir svih procesa-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:
-l
– prikazuje priključke za slušanje-n
– omogućuje prikaz brojčanih adresa-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.