Gyara: ERROR 2003 (HY000): Ba za a iya haɗi zuwa uwar garken MySQL akan 127.0.0.1 (111)


Wannan koyawa an yi niyya ne don bayyana matakan da suka wajaba don warware matsalar \ERROR 2003 (HY000): Ba za a iya haɗawa zuwa uwar garken MySQL akan '127.0.0.1' (111) wanda zai iya faruwa lokacin da kake ƙoƙarin samun dama ga uwar garken bayanan MySQL.

Kafin matsawa gaba ɗaya, idan kai mai amfani ne na Linux wanda sabo ne ga MySQL/MariaDB, to kuna iya yin la'akari da koyan 20 MySQL (Mysqladmin) Dokokin don Gudanarwar Database a cikin Linux kuma.

A gefe guda, idan kun riga kun kasance matsakaici/ƙwararren mai amfani da MySQL, zaku iya ƙware waɗannan 15 Useful MySQL/MariaDB Performance Tuning and Optimization Tips.

Lura: Don wannan koyawa, ana ɗauka cewa kun riga kun shigar da uwar garken bayanan mysql.

Idan muka dawo kan abin da aka fi maida hankali a kai, menene wasu abubuwan da za su iya haifar da wannan kuskure?

  1. Rashin hanyar sadarwa musamman idan uwar garken bayanan sirri na mysql yana gudana akan mai masaukin nesa.
  2. Babu uwar garken mysql da ke gudana akan mai masaukin da aka ambata.
  3. Firewall yana toshe haɗin TCP-IP ko wasu dalilai masu alaƙa.

A ƙasa akwai mahimman matakai don magance shi.

1. Idan uwar garken bayanai yana kan na'ura mai nisa, to gwada gwada haɗin abokin ciniki da uwar garken ta amfani da umarni ping, misali:

$ ping server_ip_address

Da zarar akwai haɗin kai, yi amfani da umarnin ps da ke ƙasa wanda ke nuna bayani game da zaɓin hanyoyin aiki, tare da bututu da umarnin grep, don bincika cewa mysql daemon ne. yana gudana akan tsarin ku.

$ ps -Af | grep mysqld

inda zabin:

  1. -A - yana kunna zaɓin duk matakai
  2. -f - yana ba da damar jeri cikakken tsari

Idan babu fitarwa daga umarnin da ya gabata, fara sabis ɗin mysql kamar haka:

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

Bayan fara sabis na mysql, gwada samun dama ga uwar garken bayanan:

$ mysql -u username -p -h host_address  

2. Idan har yanzu kuna samun kuskure iri ɗaya, to ƙayyade tashar tashar jiragen ruwa (default shine 3306) wanda mysql daemon ke sauraron ta hanyar gudanar da umarnin netstat.

$ netstat -lnp | grep mysql

inda zabukan:

  1. -l - yana nuna tashoshin sauraron sauraro
  2. -n - yana ba da damar nunin adiresoshin lamba
  3. -p - yana nuna PID da sunan shirin mallakar soket

Don haka yi amfani da zaɓin -P don tantance tashar da kuke gani daga abubuwan da aka fitar a sama yayin shiga uwar garken bayanai:

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

3. Idan duk umarnin da ke sama sun yi nasara, amma har yanzu kuna ganin kuskuren, buɗe fayil ɗin mysql config.

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

Nemo layin da ke ƙasa kuma ku yi sharhi ta amfani da halin #:

bind-address = 127.0.0.1 

Ajiye fayil ɗin kuma fita, bayan haka sake kunna sabis ɗin mysql kamar haka:

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

Koyaya, idan kuna da Iptables masu gudana kuyi ƙoƙarin yin bitar sabis na Tacewar zaɓi kuma buɗe tashar tashar mysql, kuna ɗauka cewa bangon wuta ne yana toshe haɗin TCP-IP zuwa sabar mysql.

Shi ke nan! Shin kun san wasu hanyoyin ko kuna da shawarwari don warware kuskuren haɗin MySQL a sama? Bari mu sani ta hanyar jefar da tsokaci ta hanyar amsawar da ke ƙasa.