Waħħal: ŻBALL 2003 (HY000): Ma tistax tikkonnettja mas-server MySQL fuq 127.0.0.1 (111)


Dan it-tutorja huwa maħsub biex jispjega l-passi meħtieġa biex issolvi l-\ERROR 2003 (HY000): Ma tistax tikkonnettja mas-server MySQL fuq '127.0.0.1' (111) li jista' jseħħ meta tipprova taċċessa s-server tad-database MySQL.

Qabel ma timxi 'l quddiem, jekk int utent tal-Linux li huwa ġdid għal MySQL/MariaDB, allura tista' tikkunsidra li titgħallem 20 Kmandi MySQL (Mysqladmin) għall-Amministrazzjoni tad-Database fil-Linux ukoll.

Min-naħa l-oħra, jekk inti diġà utent intermedju/esperjenza ta 'MySQL, tista' tikkontrolla dawn il-15-il Suġġeriment Utli ta' Sintonizzazzjoni u Ottimizzazzjoni tal-Prestazzjoni MySQL/MariaDB.

Nota: Għal dan it-tutorja, huwa preżunt li diġà installajt is-server tad-database mysql.

Niġu lura għall-punt ta 'fokus, x'inhuma xi wħud mill-kawżi possibbli ta' dan l-iżball?

  1. Falla fin-netwerk speċjalment jekk is-server tad-database mysql ikun qed jaħdem fuq host remot.
  2. L-ebda server mysql mhu qed jaħdem fuq il-host imsemmi.
  3. Firewall li jimblokka l-konnessjoni TCP-IP jew raġunijiet oħra relatati.

Hawn taħt huma l-passi essenzjali biex tittrattaha.

1. Jekk is-server tad-database jinsab fuq magna remota, imbagħad ipprova ttestja l-konnettività klijent-server billi tuża kmand ping, pereżempju:

$ ping server_ip_address

Ladarba jkun hemm konnettività, uża l-kmand ps hawn taħt li juri informazzjoni dwar għażla tal-proċessi attivi, flimkien ma' pipe u kmand grep, biex tivverifika li d-daemon mysql huwa taħdem fis-sistema tiegħek.

$ ps -Af | grep mysqld

fejn l-għażla:

  1. -A – jattiva l-għażla tal-proċessi kollha
  2. -f – jippermetti l-elenkar tal-format sħiħ

Jekk ma jkun hemm l-ebda output mill-kmand preċedenti, ibda s-servizz mysql kif ġej:

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

Wara li tibda s-servizz mysql, ipprova jaċċessa s-server tad-database:

$ mysql -u username -p -h host_address  

2. Jekk xorta jkollok l-istess żball, imbagħad iddetermina l-port (default huwa 3306) li fih id-daemon mysql qed jisma billi tħaddem il-kmand netstat.

$ netstat -lnp | grep mysql

fejn l-għażliet:

  1. -l – juri l-portijiet tas-smigħ
  2. -n – jippermetti l-wiri ta’ indirizzi numeriċi
  3. -p – juri l-PID u l-isem tal-programm li għandu s-socket

Għalhekk uża l-għażla -P biex tispeċifika l-port li tara mill-output ta’ hawn fuq waqt li taċċessa s-server tad-database:

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

3. Jekk il-kmandi kollha ta 'hawn fuq jaħdmu b'suċċess, iżda xorta tara l-iżball, iftaħ il-fajl tal-konfigurazzjoni mysql.

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

Fittex il-linja hawn taħt u kkummentaha billi tuża l-karattru #:

bind-address = 127.0.0.1 

Issejvja l-fajl u oħroġ, wara terġa ibda s-servizz mysql hekk:

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

Madankollu, jekk għandek Iptables taħdem ipprova tirrevedi s-servizzi tal-firewall u tiftaħ il-port mysql, jekk wieħed jassumi li huwa firewall jimblokka l-konnessjonijiet TCP-IP mas-server mysql tiegħek.

Dak kollox! Taf metodi oħra jew għandek suġġerimenti biex issolvi l-iżball tal-konnessjoni MySQL hawn fuq? Għidilna billi twaqqa kumment permezz tal-formola ta' feedback hawn taħt.