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?
- Tinklo gedimas, ypač jei mysql duomenų bazės serveris veikia nuotoliniame pagrindiniame kompiuteryje.
- Minėtame pagrindiniame kompiuteryje neveikia joks mysql serveris.
- 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:
-A
– aktyvuoja visų procesų pasirinkimą-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:
-l
– rodo klausymosi prievadus-n
– leidžia rodyti skaitmeninius adresus-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ą.