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?

Charlie Epps
quelle
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 .

Justin Vincent
quelle
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

grex_e
quelle
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
Henry
quelle
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
Bunyk
quelle
@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.

S.Roshanth
quelle
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

Yu Jiaao
quelle
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.

nkr1pt
quelle
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.

KDAS
quelle
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.

Adhie_x
quelle
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).

Mightian
quelle
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

avivamg
quelle
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.

Karol Preiskorn
quelle
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.

Safiqur Rhaman
quelle
-1

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

Gursimran Pannu
quelle
-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

Jasim
quelle