FEHLER 2003 (HY000): Es kann keine Verbindung zum MySQL-Server unter '127.0.0.1' (111) hergestellt werden.


135

Ich benutze den folgenden Befehl:

mysql -u root -h 127.0.0.1 -p

und die Fehlermeldung lautet:

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

Wer kann mir helfen, das Problem zu beheben?


3
Läuft der MySQL-Daemon? Hast du eine Firewall? Können Sie Telnet zu MySQL der Standard-Port ist 306 so - Telnet Localhost 3306
mmmmmm

Der MySQL-Daemon wird ausgeführt. Ich bin sicher.
Charlie Epps

1
Ist es nur ich oder wenn Sie eine Verbindung zum lokalen MySQL-Server herstellen, müssen Sie den Host nicht angeben, z. B. sollte MySQL -u root -p funktionieren?
RMcLeod

Nur um sicherzugehen, dass Sie versuchen, eine lokale Verbindung zum Datenbankserver herzustellen?
John Kane

Ich habe MySQL neu auf Ubuntu-12.04.2 installiert. Die Version ist 14.14 Distrib 5.5.32, für debian-linux-gnu (x86_64) mit readline 6.2 enthält die Standardkonfiguration kein 'Skip-Networking'. Sie würden also bei dieser Version nicht auf den Fehler stoßen.

Antworten:


220

Wenn Sie verwenden ubuntu, müssen Sie die folgenden Schritte ausführen, um diesen Fehler zu vermeiden (wenn keine Replikation aktiviert ist):

  1. Führen Sie den Befehl aus vim /etc/mysql/my.cnf
  2. Kommentar bind-address = 127.0.0.1mit dem Symbol #
  3. Starten Sie Ihren MySQL-Server einmal neu.

Aktualisieren

Wenn Sie in Schritt 1 bind-addressdie my.cnfDatei nicht finden können , suchen Sie sie in der /etc/mysql/mysql.conf.d/mysqld.cnfDatei.

Update bei aktivierter MySQL-Replikation

Versuchen Sie, eine Verbindung zum MySQL-Server IPherzustellen, für den der MySQL-Server in 'my.cnf instead oflocalhost oder 127.0.0.1 ' gebunden ist .


8
Danke dir!!! Ich hatte lange versucht, das herauszufinden! Ich habe diese Zeile auskommentiert, die Datei gespeichert und bin dann gelaufen service mysql restart. Und jetzt funktioniert es!
Ryan

In meinem Fall hatte ich die Adresse des Servers anstelle von 127.0.0.1 für die Bindungsadresse. Wenn dies bei Ihnen der Fall ist, müssen Sie dies ebenfalls auskommentieren.
Vlad Schnakovszki

4
Es gibt keine bind-address = 127.0.0.1in/etc/mysql/my.cnf
RegarBoy

6
@ Entwickler, ich fand meine hier: /etc/mysql/mysql.conf.d/mysqld.cnf
einmal

Ich habe die Bindungsadresse = <Hauptserver-IP> geändert, kann MySQL jedoch nicht neu starten.
Avi Kehat

14

Versuchen Sie localhoststatt 127.0.0.1zu verbinden oder in Ihrem connection-config. Arbeitete für mich auf einem Debian Squeeze Server


Zu Ihrer Information: Wenn Sie localhost angeben, wird MySQL angewiesen, eine Verbindung über den Unix-Socket (/var/run/mysqld/mysqld.sock auf Ubuntu) und nicht über einen TCP-Socket herzustellen.
Duke

8

Dies geschieht, wenn Sie vergessen haben, die Datenbank zu starten, bevor Sie eine Verbindung herstellen:

mysql.server start

dann

mysql -u root -p -h 127.0.0.1

im Terminal auf Mac und Linux. Ich glaube, dass es in Windows CMD dasselbe ist, aber ich bin nicht sicher.
Henry

Ich musste MySQL Server sudo service mysqld startin meiner AWS EC2-Instanz mit MySQL Community Server starten .
Hardainfo

6

In meinem Fall (Remoteverbindung) half das Ausschalten der Firewall auf dem Server.

service iptables stop

@ram Wahrscheinlich verwenden Sie eine andere Firewall. Oder Ihr Problem ist überhaupt keine Firewall. Überprüfen Sie die Dokumentation für Ihre Linux-Distribution.
Bunyk

1
@ram versuchenservice firewalld stop
Maxim Mazurok

1
MySQL läuft normalerweise auf Port 3306, also fügen Sie das Ihrer Firewall hinzu
kurdtpage

6

Dieses Problem kann auftreten, weil Ihr MySQL-Server nicht installiert ist und ausgeführt wird. Starten Sie dazu die Eingabeaufforderung als admin und geben Sie den folgenden Befehl ein:

"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --install

Wenn die Meldung "Dienst erfolgreich installiert" angezeigt wird, müssen Sie den MySQL-Dienst starten. Gehen Sie dazu wie folgt vor: Gehen Sie zum Fenster Dienste (Task-Manager -> Dienste -> Dienste öffnen). Suchen Sie nach MySQL und starten Sie es über die obere Navigationsleiste. Wenn Sie dann versuchen, mysql.exe zu öffnen, funktioniert es.


2
Ein kleiner Fehler cd "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin" und dann mysqld --install. Außerdem hängt die Servernummer vom Download ab.
Dejazmach

Dadurch wurde mein Problem behoben
Steffi Keran Rani J

6

Schauen Sie sich die my.cnfDatei an, wenn sie einen [client]Abschnitt enthält und der portandere als der echte Listen-Port ist (Standard 3306), müssen Sie den Server mit expliziten Parametern verbinden -P 3306, z

mysql -u root -h 127.0.0.1 -p -P 3306


wo kann ich die suchen my.cnf . Es ist nicht da in Wamp Server, in meinem Laptop
Deepak Keynes

Unter Windows heißt es normalerweise "my.ini"
Yu Jiaao

Für mich war Port das Problem. Vielen Dank
Chandra Eskay

0

Sie müssen den Parameter bind-address in der mysql-Konfigurationsdatei (my.ini oder my.cnf) in 127.0.0.1 ändern oder den dort definierten verwenden.

Wenn das nicht funktioniert, sollten Sie überprüfen, ob der MySQL-Dienst tatsächlich ausgeführt wird.


1
Ich habe der Datei my.cnf die Zeile "bind-address = 127.0.0.1" hinzugefügt. Aber es funktioniert nicht.
Charlie Epps

2
Wenn diese Zeile vorhanden ist, hört mysql NUR die angegebene Adresse ab. Um den Fernzugriff zu aktivieren, sollten Sie diese Zeile ENTFERNEN. Beachten Sie die Auswirkungen auf die Sicherheit.
Webkraller

Durch Hinzufügen bind-address =127.0.0.1von my.cnf wird die Remoteverbindung zur Datenbank deaktiviert. Selbst wenn es funktionieren würde (was es nicht ist) - das ist keine gute Lösung.
Alfasin

Die Bindungsadresse sollte 0.0.0.0 sein, es sei denn, Sie möchten nicht, dass eine andere Person eine Verbindung herstellt.
Marquis von Lorne

0

Incase Sie auf einem Nicht-Standard - Port ausgeführt wird , können Sie versuchen , mit zur --port=<port num> Verfügung gestellt --skip-networkingheißtnot enabled.


0

Ich habe nur dieses Problem ... läuft in Win7 und Wamp Server ... nachdem ich dies gelesen habe

Es wurde festgestellt, dass die Antivirus-Firewall das Problem verursacht hat.


0

Ich stand auch vor dem gleichen Problem. Das Folgende hat mir geholfen, das Problem zu beheben. Gehen Sie zu Systemsteuerung -> Verwaltung -> Dienste, in denen Sie mit Sicherheit den MySQL-Dienst sehen: Klicken Sie mit der rechten Maustaste und sagen Sie Start (Start erzwingen).


0

Für Docker-Benutzer - Wenn Sie versuchen, eine Verbindung zu lokalem SQL mit herzustellenmysql -u root -h 127.0.0.1 -pund Ihre Datenbank im Docker- Container ausgeführt wird, stellen Sie sicher, dass der MySQL-Dienst aktiv ist (überprüfen Sie die Verwendung vondocker ps und überprüfen Sie auch, ob Sie sich auch am richtigen Port befinden), falls sich der Container befindet unten wird ein Verbindungsfehler angezeigt.

Die beste Vorgehensweise besteht darin, die IP-Adressen /etc/hostsauf Ihrem Computer einzurichten :

127.0.0.1 db.local

und laufen es vorbei mysql -u root -h db.local -p


0

Versuchen Sie nicht, iptables herunterzufahren und Port 3306 zu öffnen.

sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

oder sudo ufw allow 3306 wenn Sie ufw verwenden.

check: netstat -lnp | grep mysqldu solltest so etwas bekommen:

cp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2048/mysqld         
tcp6       0      0 :::33060                :::*                    LISTEN      2048/mysqld         
unix  2      [ ACC ]     STREAM     LISTENING     514961   2048/mysqld          /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     514987   2048/mysqld          /var/run/mysqld/mysqlx.sock

Wenn Sie null haben, löschen Sie # vor port = 3306 in der cnf-Datei.


0

Stellen Sie sicher, dass Ihr MySQL-Server auf localhost ausgeführt wird.

Unter Linux

So überprüfen Sie, ob der MySQL-Server ausgeführt wird:

sudo service mysql status

So führen Sie den MySQL-Server aus:

sudo service mysql start

Unter Windows

So überprüfen Sie, ob der MySQL-Server ausgeführt wird:

C:\Windows\system32>net start

Wenn MySql nicht in der Liste enthalten ist, müssen Sie MySql starten / ausführen.

So führen Sie den MySQL-Server aus:

C:\Windows\system32>net start mysql

Hoffe das hilft.


-1

Ich habe das Installationsverzeichnis bei der Neuinstallation geändert und es hat funktioniert.


-2

Ich starte einfach meinen MySQL-Server neu und das in Windows Net gelöste Problem stoppt MySQL und startet dann MySQL Ubuntu Linux Sudo Service Start MySQL

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.