Diese Fehlermeldung wird vom Client (nicht vom Server) generiert, da versucht wurde, eine Verbindung zum Server herzustellen, der Server jedoch nicht erreicht werden konnte.
Dafür gibt es verschiedene mögliche Ursachen:
1) Prüfen Sie, ob mysqld auf dem Server läuft:
ps -ef | grep mysqld
sollte etwas zurückgeben wie:
root 2435 2342 0 15:49 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/var/ --user=mysql
mysql 2480 2435 0 15:49 pts/1 00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/var/ --user=mysql ...
Um den Daemon-Dienst auszuführen, führen Sie ihn auf redhat/fedora/centos aus:
service mysqld start
oder auf Fedora-Release>=16, das auf systemd:
angewiesen istsystemctl start mysqld.service
und zum Aktivieren des automatischen Daemon-Starts beim Systemstart:
systemctl enable mysqld.service
2) Überprüfen Sie den Port, auf dem mysqld auf dem Server läuft:
netstat -lnp | grep mysql
sollte zurückgeben:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2480/mysqld
unix 2 [ ACC ] STREAM LISTENING 8101 2480/mysqld /tmp/mysql.sock
Letzterer ist der Socket für lokale Verbindungen, ersterer der TCP-Port für Netzwerke (Standard 3306). Wenn der Port nicht der Standardport ist, müssen Sie den Verbindungsport auf dem Client festlegen. Bei Verwendung des MySQL-Clients:
mysql dbname -uuser -ppasswd -P<port> ...
3) Wenn Sie sich auf einer anderen Netzadresse befinden, überprüfen Sie, ob der Server auf die Netzadressen wartet, von denen Sie sich verbinden:in der Datei /etc/my.cnf
Suche nach der Zeile:
bind_address=127.0.0.1
wenn die Adresse 127.0.0.1 ist, sind nur lokale Verbindungen erlaubt; wenn es 172.16.1.0 wäre, könnten Sie keine Verbindung von 172.16.2.xxx herstellen
4) Überprüfen Sie, ob auf dem Server keine Firewall läuft und Verbindungen zum mysql-Port blockiert (3306 ist der Standardport); wenn es sich um einen Redhat/Fedora/Centos-Lauf handelt
service iptables status