Det felmeddelandet genereras av klienten (inte servern) eftersom en anslutning till servern har försökts men servern inte kunde nås.
Det finns olika möjliga orsaker till det:
1) kontrollera att mysqld körs på servern:
ps -ef | grep mysqld
bör returnera något i stil med:
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 ...
För att köra demontjänsten, kör på redhat/fedora/centos:
service mysqld start
eller på Fedora release>=16, som förlitar sig på systemd:
systemctl start mysqld.service
och för att aktivera automatisk start av daemon vid systemstart:
systemctl enable mysqld.service
2) kontrollera porten som mysqld körs på på servern:
netstat -lnp | grep mysql
ska returnera:
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
den senare är uttaget för lokala anslutningar, den första är tcp-porten för nätverk (standard 3306). Om porten inte är standardporten måste du ställa in anslutningsporten på klienten. Om du använder mysql-klient:
mysql dbname -uuser -ppasswd -P<port> ...
3) vara på en annan nätadress, kontrollera att servern lyssnar efter nätadresserna som du ansluter från:i filen /etc/my.cnf
sök efter raden:
bind_address=127.0.0.1
om adressen är 127.0.0.1 är endast lokala anslutningar tillåtna; om det var 172.16.1.0 kunde du inte ansluta från 172.16.2.xxx
4) kontrollera att det inte finns någon brandvägg på servern och blockerar anslutningar till mysql-porten (3306 är standardporten); om det är en redhat/fedora/centos-körning
service iptables status