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?
- Nettverksfeil, spesielt hvis mysql-databaseserveren kjører på ekstern vert.
- Ingen mysql-server kjører på den nevnte verten.
- 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:
-A
– aktiverer valg av alle prosesser-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:
-l
– viser lytteporter-n
– muliggjør visning av numeriske adresser-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.