Ce message d'erreur est généré par le client (et non par le serveur) car une connexion au serveur a été tentée mais le serveur n'a pas pu être joint.
Il y a plusieurs causes possibles à cela :
1) vérifiez que mysqld est en cours d'exécution sur le serveur :
ps -ef | grep mysqld
devrait retourner quelque chose comme :
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 ...
Pour exécuter le service démon, exécutez sur redhat/fedora/centos :
service mysqld start
ou sur la version Fedora>=16, qui s'appuie sur systemd :
systemctl start mysqld.service
et pour activer le démarrage automatique du démon au démarrage du système :
systemctl enable mysqld.service
2) vérifiez le port sur lequel mysqld est exécuté sur le serveur :
netstat -lnp | grep mysql
devrait renvoyer :
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
ce dernier est le socket pour les connexions locales, le premier le port tcp pour la mise en réseau (3306 par défaut). Si le port n'est pas le port par défaut, vous devez définir le port de connexion sur le client. Si vous utilisez le client mysql :
mysql dbname -uuser -ppasswd -P<port> ...
3) étant sur une adresse réseau différente, vérifiez que le serveur écoute les adresses réseau à partir desquelles vous vous connectez :dans le fichier /etc/my.cnf
rechercher la ligne :
bind_address=127.0.0.1
si l'adresse est 127.0.0.1, seules les connexions locales sont autorisées ; si c'était 172.16.1.0, vous ne pourriez pas vous connecter depuis 172.16.2.xxx
4) vérifiez que sur le serveur il n'y a pas de pare-feu en cours d'exécution et bloquant les connexions au port mysql (3306 est le port par défaut) ; si c'est une course redhat/fedora/centos
service iptables status