Fix: FEJL 2003 (HY000): Kan ikke oprette forbindelse til MySQL-server på 127.0.0.1 (111)
Denne vejledning er beregnet til at forklare de nødvendige trin til løsning af “FEJL 2003 (HY000): Kan ikke oprette forbindelse til MySQL-server på‘ 127.0.0.1 ’(111)”, som muligvis opstår, når du prøver at få adgang til MySQL-databaseserveren.
Inden du går videre, hvis du er en Linux-bruger, der er ny på MySQL/MariaDB, kan du overveje at lære 20 MySQL (Mysqladmin) -kommandoer til databaseadministration også i Linux.
På den anden side, hvis du allerede er en mellemliggende/erfaren MySQL-bruger, kan du mestre disse 15 nyttige MySQL/MariaDB Performance Tuning og optimerings tip.
Bemærk: I denne tutorial antages det, at du allerede har installeret mysql-databaseserver.
Kommer tilbage til fokuspunktet, hvad er nogle af de mulige årsager til denne fejl?
- Netværksfejl, især hvis mysql-databaseserver kører på fjernhost.
- Ingen mysql-server kører på den nævnte vært.
- Firewall, der blokerer TCP-IP-forbindelse eller af andre relaterede årsager.
Nedenfor er de væsentlige trin til at håndtere det.
1. Hvis databaseserver er på en ekstern maskine, skal du prøve at teste klient-serverforbindelsen ved hjælp af ping
-kommandoen, for eksempel:
$ ping server_ip_address
Når der er forbindelse, skal du bruge kommandoen ps
nedenfor, der viser oplysninger om et udvalg af de aktive processer sammen med et -rør
og grep-kommando for at kontrollere, at mysql-dæmonen er kører på dit system.
$ ps -Af | grep mysqld
hvor muligheden:
-
-A
- aktiverer valg af alle processer -
-f
- muliggør notering i fuldformat
Hvis der ikke er noget output fra den forrige kommando, skal du starte mysql-tjenesten som følger:
$ sudo systemctl start mysql.service $ sudo systemctl start mariadb.service OR # sudo /etc/init.d/mysqld start
Efter start af mysql-tjenesten, prøv at få adgang til databaseserveren:
$ mysql -u username -p -h host_address
2. Hvis du stadig får den samme fejl, skal du bestemme porten (standard er 3306), som mysql-dæmonen lytter til, ved at køre netstat-kommandoen.
$ netstat -lnp | grep mysql
hvor mulighederne:
-
-l
- viser lytteporte -
-n
- muliggør visning af numeriske adresser -
-p
- viser PID og navnet på det program, der ejer stikket
Brug derfor indstillingen -P
til at angive den port, du ser fra output ovenfor, mens du får adgang til databaseserveren:
$ mysql -u username -p -h host_address -P port
3. Hvis alle ovenstående kommandoer kører med succes, men du stadig ser fejlen, skal du åbne mysql-konfigurationsfilen.
$ vi /etc/mysql/my.cnf OR $ vi /etc/mysql/mysql.conf.d/mysqld.cnf
Se efter linjen nedenfor, og kommenter den ved hjælp af tegnet #
:
bind-address = 127.0.0.1
Gem filen og afslut, genstart derefter mysql-tjenesten sådan:
$ sudo systemctl start mysql.service $ sudo systemctl start mariadb.service OR # sudo /etc/init.d/mysqld start
Men hvis du har Iptables, der kører, skal du prøve at gennemgå firewall-tjenester og åbne mysql-porten, forudsat at det er firewall, der blokerer TCP-IP-forbindelser til din mysql-server.
Det er alt! Kender du andre metoder eller har du forslag til løsning af MySQL-forbindelsesfejlen ovenfor? Fortæl os det ved at droppe en kommentar via feedbackformularen nedenfor.