Mysql
 sql >> Base de données >  >> RDS >> Mysql

Problèmes de connexion au serveur mysql :ERREUR 2003 (HY000)

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