Denne fejlmeddelelse genereres af klienten (ikke serveren), fordi en forbindelse til serveren er blevet forsøgt, men serveren kunne ikke nås.
Der er forskellige mulige årsager til det:
1) tjek at mysqld kører på serveren:
ps -ef | grep mysqld
skulle returnere noget som:
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 ...
For at køre daemon-tjenesten, kør på redhat/fedora/centos:
service mysqld start
eller på Fedora-udgivelse>=16, som er afhængig af systemd:
systemctl start mysqld.service
og for at aktivere dæmonens automatiske start ved systemstart:
systemctl enable mysqld.service
2) tjek porten som mysqld kører på serveren:
netstat -lnp | grep mysql
skal returnere:
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
sidstnævnte er stikket til lokale forbindelser, det første er tcp-porten til netværk (standard 3306). Hvis porten ikke er standardporten, skal du indstille forbindelsesporten på klienten. Hvis du bruger mysql-klient:
mysql dbname -uuser -ppasswd -P<port> ...
3) at være på en anden netadresse, skal du kontrollere, at serveren lytter efter de netadresser, du opretter forbindelse fra:i filen /etc/my.cnf
søg efter linjen:
bind_address=127.0.0.1
hvis adressen er 127.0.0.1 er kun lokale forbindelser tilladt; hvis det var 172.16.1.0, kunne du ikke oprette forbindelse fra 172.16.2.xxx
4) tjek, at der på serveren ikke kører nogen firewall og blokerer forbindelser til mysql-porten (3306 er standardporten); hvis det er et redhat/fedora/centos-løb
service iptables status