Tuto chybovou zprávu generuje klient (nikoli server), protože došlo k pokusu o připojení k serveru, ale server nebyl dostupný.
Existují různé možné příčiny:
1) zkontrolujte, zda na serveru běží mysqld:
ps -ef | grep mysqld
by měl vrátit něco jako:
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 ...
Chcete-li spustit službu démona, spusťte na redhat/fedora/centos:
service mysqld start
nebo na vydání Fedory>=16, které spoléhá na systemd:
systemctl start mysqld.service
a pro povolení automatického spouštění démona při spouštění systému:
systemctl enable mysqld.service
2) zkontrolujte port, na kterém běží mysqld na serveru:
netstat -lnp | grep mysql
by se mělo vrátit:
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
druhý je socket pro místní připojení, první port tcp pro síť (výchozí 3306). Pokud port není výchozí port, musíte nastavit port připojení na klientovi. Pokud používáte klienta mysql:
mysql dbname -uuser -ppasswd -P<port> ...
3) když jste na jiné síťové adrese, zkontrolujte, zda server naslouchá síťovým adresám, ze kterých se připojujete:v souboru /etc/my.cnf
vyhledejte řádek:
bind_address=127.0.0.1
pokud je adresa 127.0.0.1 jsou povolena pouze místní připojení; pokud by to bylo 172.16.1.0, nemohli byste se připojit z 172.16.2.xxx
4) zkontrolujte, zda na serveru neběží firewall a neblokuje připojení k portu mysql (3306 je výchozí port); pokud je to redhat/fedora/centos run
service iptables status