Pataisymas: KLAIDA 2003 (HY000): Nepavyksta prisijungti prie „MySQL“ serverio „127.0.0.1“ (111)


Ši mokymo programa skirta paaiškinti, kokių veiksmų reikia norint išspręsti problemą „KLAIDA 2003 (HY000): Nepavyksta prisijungti prie MySQL serverio '127.0.0.1' (111)“, kuri gali atsirasti bandant pasiekti MySQL duomenų bazės serverį.

Jei esate „Linux“ naudotojas, dar nenaudojęs MySQL/MariaDB, galite apsvarstyti galimybę išmokti MySQL/MariaDB pradedantiesiems – 1 dalis ir 20 „MySQL“ („Mysqladmin“) komandų duomenų bazės administravimui. Linux taip pat.

Kita vertus, jei jau esate vidutinis/patyręs MySQL vartotojas, galite išmokti šiuos 15 naudingų MySQL/MariaDB našumo derinimo ir optimizavimo patarimų.

Pastaba: šioje mokymo programoje daroma prielaida, kad jau įdiegėte mysql duomenų bazės serverį.

Grįžtant prie dėmesio taško, kokios galimos šios klaidos priežastys?

  1. Tinklo gedimas, ypač jei mysql duomenų bazės serveris veikia nuotoliniame pagrindiniame kompiuteryje.
  2. Minėtame pagrindiniame kompiuteryje neveikia joks mysql serveris.
  3. Ugniasienė blokuoja TCP-IP ryšį arba dėl kitų susijusių priežasčių.

Žemiau pateikiami pagrindiniai žingsniai, kaip su tuo susidoroti.

1. Jei duomenų bazės serveris yra nuotoliniame kompiuteryje, pabandykite patikrinti kliento ir serverio ryšį naudodami komandą ping, pavyzdžiui:

ping server_ip_address

Kai yra ryšys, naudokite komandą ps, kuri rodo informaciją apie aktyvių procesų pasirinkimą, kartu su komanda pipe ir grep, kad patikrintumėte, ar mysql demonas yra veikia jūsų sistemoje.

ps -Af | grep mysqld

kur variantas:

  1. -A – aktyvuoja visų procesų pasirinkimą
  2. -f – įgalina viso formato sąrašą

Jei nėra ankstesnės komandos išvesties, paleiskite mysql paslaugą taip:

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

Paleidę mysql paslaugą, pabandykite pasiekti duomenų bazės serverį:

mysql -u username -p -h host_address  

2. Jei vis tiek gaunate tą pačią klaidą, nustatykite prievadą (numatytasis nustatymas yra 3306), kuriame klausosi mysql demonas, vykdydami komandą netstat.

netstat -lnp | grep mysql

kur parinktys:

  1. -l – rodo klausymosi prievadus
  2. -n – leidžia rodyti skaitmeninius adresus
  3. -p – rodo PID ir programos, kuriai priklauso lizdas, pavadinimą

Todėl naudokite parinktį -P, kad nurodytumėte prievadą, kurį matote iš anksčiau pateiktos išvesties, kai pasiekiate duomenų bazės serverį:

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

3. Jei visos anksčiau pateiktos komandos vykdomos sėkmingai, bet vis tiek matote klaidą, atidarykite mysql konfigūracijos failą.

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

Ieškokite žemiau esančios eilutės ir pakomentuokite ją naudodami simbolį #:

bind-address = 127.0.0.1 

Išsaugokite failą ir išeikite, tada iš naujo paleiskite mysql paslaugą taip:

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

Tačiau, jei veikia firewallD arba Iptables, pabandykite peržiūrėti ugniasienės paslaugas ir atidaryti mysql prievadą, darant prielaidą, kad tai užkarda blokuoja TCP-IP ryšius su jūsų mysql serveriu.

Tai viskas! Ar žinote kitų būdų arba turite pasiūlymų, kaip išspręsti aukščiau pateiktą MySQL ryšio klaidą? Praneškite mums komentarą naudodami toliau pateiktą atsiliepimų formą.