Fix: ERROR 2003 (HY000): Kann net mam MySQL Server op 127.0.0.1 (111) konnektéieren


Dësen Tutorial ass virgesinn fir déi néideg Schrëtt z'erklären fir den \FEELER 2003 (HY000) ze léisen): Kann net mam MySQL Server op '127.0.0.1' (111) konnektéieren wat optriede kann wann Dir probéiert op de MySQL Datebankserver ze kommen.

Ier Dir weider réckelt, wann Dir e Linux Benotzer sidd, deen nei bei MySQL/MariaDB ass, da kënnt Dir iwwerleeën 20 MySQL (Mysqladmin) Kommandoen fir Datebankverwaltung am Linux och ze léieren.

Op der anerer Säit, wann Dir schonn e Mëttelstuf/erfuerene MySQL Benotzer sidd, kënnt Dir dës 15 Nëtzlech MySQL/MariaDB Performance Tuning an Optimisatiouns Tipps beherrschen.

Bemierkung: Fir dësen Tutorial gëtt ugeholl datt Dir schonn mysql Datebankserver installéiert hutt.

Zréck op de Punkt vum Fokus, wat sinn e puer vun de méigleche Ursaachen vun dësem Feeler?

  1. Netzwierkfehler besonnesch wann de mysql Datebankserver um Fernhost leeft.
  2. Kee mysql Server leeft um ernimmten Host.
  3. Firewall blockéiert TCP-IP Verbindung oder aner verbonne Grënn.

Drënner sinn déi wesentlech Schrëtt fir et ze këmmeren.

1. Wann d'Datebankserver op enger Fernmaschinn ass, probéiert d'Client-Server Konnektivitéit ze testen mam ping Kommando, zum Beispill:

$ ping server_ip_address

Wann et eng Konnektivitéit ass, benotzt de Kommando ps hei ënnen, deen Informatioun iwwer eng Auswiel vun den aktive Prozesser weist, zesumme mat engem Pipe a grep Kommando, fir ze kontrolléieren ob de mysql Daemon ass op Ärem System lafen.

$ ps -Af | grep mysqld

wou d'Optioun:

  1. -A - aktivéiert d'Auswiel vun alle Prozesser
  2. -f - aktivéiert Vollformatlëscht

Wann et keen Ausgang vum fréiere Kommando gëtt, start de mysql Service wéi follegt:

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

Nodeems Dir mysql Service gestart hutt, probéiert op den Datebankserver ze kommen:

$ mysql -u username -p -h host_address  

2. Wann Dir nach ëmmer dee selwechte Feeler kritt, da bestëmmt den Hafen (Standard ass 3306) op deem de mysql-Daemon lauschtert andeems Dir de netstat Kommando ausféiert.

$ netstat -lnp | grep mysql

wou d'Optiounen:

  1. -l – weist d'Nolauschterporten af
  2. -n - erméiglecht d'Display vun numereschen Adressen
  3. -p - weist PID an Numm vum Programm deen de Socket besëtzt

Benotzt dofir d'Optioun -P fir den Hafen ze spezifizéieren deen Dir vun der Ausgab hei uewen gesitt wann Dir op den Datebankserver zougitt:

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

3. Wann all déi uewe genannte Kommandoen erfollegräich lafen, awer Dir gesitt nach ëmmer de Feeler, öffnen d'mysql Configuratiounsdatei.

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

Kuckt no der Zeil hei drënner a kommentéiert se mat dem # Charakter:

bind-address = 127.0.0.1 

Späichert d'Datei a gitt eraus, duerno de mysql Service nei starten wéi esou:

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

Wéi och ëmmer, wann Dir Iptables hutt, probéiert d'Firewall-Servicer ze iwwerpréiwen an de mysql-Port opzemaachen, unzehuelen datt et Firewall blockéiert TCP-IP Verbindungen op Äre mysql Server.

Dat ass alles! Kennt Dir aner Methoden oder hutt Virschléi fir de MySQL Verbindungsfehler hei uewen ze léisen? Loosst eis wëssen andeems Dir e Kommentar iwwer de Feedbackformular hei drënner schéckt.