Popravek: NAPAKA 2003 (HY000): Ne morem se povezati s strežnikom MySQL na 127.0.0.1 (111)


Ta vadnica je namenjena razlagi potrebnih korakov za razrešitev\"NAPAKA 2003 (HY000): Ne morem se povezati s strežnikom MySQL na '127.0.0.1' (111)", do katerega lahko pride, ko poskusite dostopati do strežnika baz podatkov MySQL.

Če ste uporabnik Linuxa, ki je nov v MySQL/MariaDB, preden se premaknete naprej, razmislite o učenju 20 ukazov MySQL (Mysqladmin) za upravljanje baz podatkov tudi v Linuksu.

Če ste že vmesni/izkušeni uporabnik MySQL, lahko obvladate teh 15 koristnih nasvetov za nastavitev in optimizacijo zmogljivosti MySQL/MariaDB.

Opomba: Pri tej vadnici se domneva, da ste že namestili strežnik baz podatkov mysql.

Kateri so možni vzroki za to napako, če se vrnemo k točki osredotočenja?

  1. Napaka omrežja, še posebej, če se strežnik baz podatkov mysql izvaja na oddaljenem gostitelju.
  2. Na omenjenem gostitelju se ne izvaja noben strežnik mysql.
  3. Požarni zid blokira povezavo TCP-IP ali drugi povezani razlogi.

Spodaj so navedeni bistveni koraki za to.

1. Če je strežnik baze podatkov na oddaljenem računalniku, poskusite preizkusiti povezljivost odjemalec-strežnik z ukazom ping , na primer:

$ ping server_ip_address

Ko je vzpostavljena povezava, uporabite spodnji ukaz ps , ki prikazuje informacije o izboru aktivnih procesov, skupaj z ukazom pipe in grep, da preverite, ali je demon mysql v vašem sistemu.

$ ps -Af | grep mysqld

kjer je možnost:

  1. -A - aktivira izbiro vseh procesov
  2. -f - omogoča seznam v polnem formatu

Če iz prejšnjega ukaza ni izhodov, zaženite storitev mysql, kot sledi:

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

Po zagonu storitve mysql poskusite dostopati do strežnika baze podatkov:

$ mysql -u username -p -h host_address  

2. Če se še vedno prikaže ista napaka, z ukazom netstat določite vrata (privzeto je 3306), na katerih posluša demon mysql.

$ netstat -lnp | grep mysql

kjer so možnosti:

  1. -l - prikaže vrata za poslušanje
  2. -n - omogoča prikaz številčnih naslovov
  3. -p - prikazuje PID in ime programa, ki je lastnik vtičnice

Zato z možnostjo -P določite vrata, ki jih vidite iz zgornjega izhoda med dostopom do strežnika baze podatkov:

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

3. Če se vsi zgornji ukazi uspešno izvajajo, vendar napaka še vedno obstaja, odprite konfiguracijsko datoteko mysql.

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

Poiščite spodnjo vrstico in jo komentirajte z znakom # :

bind-address = 127.0.0.1 

Shranite datoteko in zapustite, nato znova zaženite storitev mysql tako:

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

Če pa imate nameščen Iptables, poskusite pregledati storitve požarnega zidu in odpreti vrata mysql, ob predpostavki, da požarni zid blokira povezave TCP-IP s strežnikom mysql.

To je vse! Ali poznate druge metode ali imate zgoraj predloge za odpravo napake pri povezavi MySQL? Sporočite nam tako, da spustite komentar prek spodnjega obrazca za povratne informacije.