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?
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?
Antworten:
Wenn Sie verwenden ubuntu
, müssen Sie die folgenden Schritte ausführen, um diesen Fehler zu vermeiden (wenn keine Replikation aktiviert ist):
vim /etc/mysql/my.cnf
bind-address = 127.0.0.1
mit dem Symbol #Aktualisieren
Wenn Sie in Schritt 1 bind-address
die my.cnf
Datei nicht finden können , suchen Sie sie in der /etc/mysql/mysql.conf.d/mysqld.cnf
Datei.
Update bei aktivierter MySQL-Replikation
Versuchen Sie, eine Verbindung zum MySQL-Server IP
herzustellen, für den der MySQL-Server in 'my.cnf instead of
localhost oder 127.0.0.1 ' gebunden ist .
service mysql restart
. Und jetzt funktioniert es!
bind-address = 127.0.0.1
in/etc/mysql/my.cnf
Versuchen Sie localhost
statt 127.0.0.1
zu verbinden oder in Ihrem connection-config
. Arbeitete für mich auf einem Debian Squeeze Server
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
sudo service mysqld start
in meiner AWS EC2-Instanz mit MySQL Community Server starten .
In meinem Fall (Remoteverbindung) half das Ausschalten der Firewall auf dem Server.
service iptables stop
service firewalld stop
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.
cd "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin"
und dann mysqld --install
. Außerdem hängt die Servernummer vom Download ab.
Schauen Sie sich die my.cnf
Datei an, wenn sie einen [client]
Abschnitt enthält und der port
andere 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
my.cnf
. Es ist nicht da in Wamp Server, in meinem Laptop
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.
bind-address =127.0.0.1
von my.cnf wird die Remoteverbindung zur Datenbank deaktiviert. Selbst wenn es funktionieren würde (was es nicht ist) - das ist keine gute Lösung.
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.
Für Docker-Benutzer - Wenn Sie versuchen, eine Verbindung zu lokalem SQL mit herzustellenmysql -u root -h 127.0.0.1 -p
und 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/hosts
auf Ihrem Computer einzurichten :
127.0.0.1 db.local
und laufen es vorbei mysql -u root -h db.local -p
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 mysql
du 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.
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.
Ich habe das Installationsverzeichnis bei der Neuinstallation geändert und es hat funktioniert.