Essa mensagem de erro é gerada pelo cliente (não pelo servidor) porque foi tentada uma conexão com o servidor, mas o servidor não pôde ser alcançado.
Existem várias causas possíveis para isso:
1) verifique se o mysqld está rodando no servidor:
ps -ef | grep mysqld
deve retornar algo como:
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 ...
Para executar o serviço daemon, execute em redhat/fedora/centos:
service mysqld start
ou na versão do Fedora>=16, que depende do systemd:
systemctl start mysqld.service
e para habilitar a inicialização automática do daemon na inicialização do sistema:
systemctl enable mysqld.service
2) verifique a porta na qual o mysqld está rodando no servidor:
netstat -lnp | grep mysql
deve retornar:
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
o último é o soquete para conexões locais, o primeiro a porta tcp para rede (padrão 3306). Se a porta não for a porta padrão, você deverá definir a porta de conexão no cliente. Se estiver usando o cliente mysql:
mysql dbname -uuser -ppasswd -P<port> ...
3) estando em um endereço de rede diferente, verifique se o servidor escuta os endereços de rede dos quais você está se conectando:no arquivo
/etc/my.cnf
procure a linha:bind_address=127.0.0.1
se o endereço for 127.0.0.1 somente conexões locais são permitidas; se fosse 172.16.1.0, você não poderia conectar de 172.16.2.xxx
4) verifique se no servidor não há firewall rodando e bloqueando as conexões com a porta mysql (3306 é a porta padrão); se é uma corrida redhat/fedora/centos
service iptables status