Fix: ERROR 2003 (HY000): Kan ikke koble til MySQL-serveren på '127.0.0.1' (111)


Denne veiledningen er ment å forklare de nødvendige trinnene for å løse «FEIL 2003 (HY000): Kan ikke koble til MySQL-serveren på '127.0.0.1' (111)» som kan oppstå når du prøver å tilgang til MySQL-databaseserveren.

Før du går videre, hvis du er en Linux-bruker som er ny på MySQL/MariaDB, kan du vurdere å lære MySQL/MariaDB for nybegynnere – Del 1 og 20 MySQL (Mysqladmin)-kommandoer for databaseadministrasjon i Linux også.

På den annen side, hvis du allerede er en middels/erfaren MySQL-bruker, kan du mestre disse 15 nyttige MySQL/MariaDB ytelsesjustering og optimaliseringstips.

Merk: For denne opplæringen antas det at du allerede har installert mysql databaseserver.

For å komme tilbake til fokuspunktet, hva er noen av de mulige årsakene til denne feilen?

  1. Nettverksfeil, spesielt hvis mysql-databaseserveren kjører på ekstern vert.
  2. Ingen mysql-server kjører på den nevnte verten.
  3. Brannmur blokkerer TCP-IP-tilkobling eller andre relaterte årsaker.

Nedenfor er de viktigste trinnene for å håndtere det.

1. Hvis databaseserveren er på en ekstern maskin, kan du prøve å teste klient-server-tilkoblingen ved å bruke kommandoen ping, for eksempel:

ping server_ip_address

Når det er tilkobling, bruk kommandoen ps nedenfor som viser informasjon om et utvalg av de aktive prosessene, sammen med en pipe og grep-kommando, for å sjekke at mysql-demonen er kjører på systemet ditt.

ps -Af | grep mysqld

hvor alternativet:

  1. -A – aktiverer valg av alle prosesser
  2. -f – aktiverer fullformatoppføring

Hvis det ikke er noen utgang fra forrige kommando, start mysql-tjenesten som følger:

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

Etter å ha startet mysql-tjenesten, prøv å få tilgang til databaseserveren:

mysql -u username -p -h host_address  

2. Hvis du fortsatt får den samme feilen, må du bestemme porten (standard er 3306) som mysql-demonen lytter til ved å kjøre netstat-kommandoen.

netstat -lnp | grep mysql

hvor alternativene:

  1. -l – viser lytteporter
  2. -n – muliggjør visning av numeriske adresser
  3. -p – viser PID og navnet på programmet som eier kontakten

Bruk derfor -P-alternativet for å spesifisere porten du ser fra utdataene ovenfor mens du får tilgang til databaseserveren:

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

3. Hvis alle kommandoene ovenfor kjører vellykket, men du fortsatt ser feilen, åpner du mysql-konfigurasjonsfilen.

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

Se etter linjen nedenfor og kommenter den med #-tegnet:

bind-address = 127.0.0.1 

Lagre filen og avslutt, start deretter mysql-tjenesten på nytt slik:

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

Men hvis du har firewallD eller Iptables kjører, prøv å se gjennom brannmurtjenester og åpne mysql-porten, forutsatt at det er brannmur som blokkerer TCP-IP-tilkoblinger til mysql-serveren.

Det er alt! Kjenner du til andre metoder eller har forslag for å løse MySQL-tilkoblingsfeilen ovenfor? Gi oss beskjed ved å legge inn en kommentar via tilbakemeldingsskjemaet nedenfor.