Labojums: ERROR 2003 (HY000): Nevar izveidot savienojumu ar MySQL serveri 127.0.0.1 (111)


Šī apmācība ir paredzēta, lai izskaidrotu nepieciešamās darbības “ERROR 2003 (HY000): Nevar izveidot savienojumu ar MySQL serveri vietnē“ 127.0.0.1 ”(111)”, kas var rasties, mēģinot piekļūt MySQL datu bāzes serverim.

Pirms turpināt darbu, ja esat Linux lietotājs, kurš ir jauns MySQL/MariaDB lietotājs, varat apsvērt iespēju apgūt 20 MySQL (Mysqladmin) komandas datu bāzes administrēšanai arī Linux.

No otras puses, ja jūs jau esat starpnieks/pieredzējis MySQL lietotājs, varat apgūt šos 15 noderīgos MySQL/MariaDB veiktspējas regulēšanas un optimizācijas padomus.

Piezīme. Šajā apmācībā tiek pieņemts, ka esat jau instalējis mysql datu bāzes serveri.

Atgriežoties pie uzmanības centra, kādi ir iespējamie šīs kļūdas cēloņi?

  1. Tīkla kļūme, īpaši, ja mysql datu bāzes serveris darbojas attālajā resursdatorā.
  2. Minētajā resursdatorā nedarbojas neviens mysql serveris.
  3. ugunsmūris bloķē TCP-IP savienojumu vai citu saistītu iemeslu dēļ.

Tālāk ir sniegti galvenie soļi, lai to novērstu.

1. Ja datu bāzes serveris atrodas attālā datorā, mēģiniet pārbaudīt klienta-servera savienojamību, izmantojot komandu ping , piemēram:

$ ping server_ip_address

Kad ir izveidots savienojums, izmantojiet zemāk esošo komandu ps , kas parāda informāciju par aktīvo procesu izvēli, kā arī komandu pipe un grep, lai pārbaudītu, vai mysql dēmons ir darbojas jūsu sistēmā.

$ ps -Af | grep mysqld

kur iespēja:

  1. -A - aktivizē visu procesu atlasi
  2. -f - iespējo pilnā formātā

Ja no iepriekšējās komandas nav izvades, palaidiet mysql pakalpojumu šādi:

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

Pēc mysql pakalpojuma palaišanas mēģiniet piekļūt datu bāzes serverim:

$ mysql -u username -p -h host_address  

2. Ja joprojām tiek parādīta tā pati kļūda, nosakiet portu (noklusējums ir 3306), kurā klausās mysql dēmons, palaižot komandu netstat.

$ netstat -lnp | grep mysql

kur iespējas:

  1. -l - parāda klausīšanās porti
  2. -n - ļauj parādīt ciparu adreses
  3. -p - parāda PID un tās programmas nosaukumu, kurai pieder ligzda

Tāpēc izmantojiet opciju -P , lai piekļūtu datu bāzes serverim norādītu portu, kuru redzat no iepriekš redzamās izejas:

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

3. Ja visas iepriekš minētās komandas darbojas veiksmīgi, bet jūs joprojām redzat kļūdu, atveriet mysql config failu.

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

Meklējiet zemāk esošo rindiņu un komentējiet to, izmantojot rakstzīmi # :

bind-address = 127.0.0.1 

Saglabājiet failu un izejiet, pēc tam restartējiet mysql pakalpojumu šādi:

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

Tomēr, ja darbojas Iptables, mēģiniet pārskatīt ugunsmūra pakalpojumus un atvērt mysql portu, pieņemot, ka tas ir ugunsmūris, kas bloķē TCP-IP savienojumus ar jūsu mysql serveri.

Tas ir viss! Vai jūs zināt citas metodes vai jums ir ieteikumi, kā atrisināt MySQL savienojuma kļūdu iepriekš? Informējiet mūs, nometot komentāru, izmantojot zemāk esošo atsauksmju veidlapu.