Recherche de site Web

Correctif : ERREUR 2003 (HY000) : Impossible de se connecter au serveur MySQL sur '127.0.0.1' (111)


Ce didacticiel est destiné à expliquer les étapes nécessaires pour résoudre le problème « ERREUR 2003 (HY000) : Impossible de se connecter au serveur MySQL sur '127.0.0.1' (111) » qui peut survenir lorsque vous essayez de accéder au serveur de base de données MySQL.

Avant d'aller plus loin, si vous êtes un utilisateur Linux qui débute avec MySQL/MariaDB, vous pouvez envisager d'apprendre MySQL/MariaDB pour les débutants – Partie 1 et 20 Commandes MySQL (Mysqladmin) pour l'administration de bases de données dans Linux également.

D'un autre côté, si vous êtes déjà un utilisateur MySQL intermédiaire/expérimenté, vous pouvez maîtriser ces 15 conseils utiles de réglage et d'optimisation des performances MySQL/MariaDB.

Remarque : Pour ce didacticiel, il est supposé que vous avez déjà installé le serveur de base de données MySQL.

Pour en revenir au point central, quelles sont certaines des causes possibles de cette erreur ?

  1. Panne de réseau, surtout si le serveur de base de données MySQL s'exécute sur un hôte distant.
  2. Aucun serveur MySQL n'est exécuté sur l'hôte mentionné.
  3. Pare-feu bloquant la connexion TCP-IP ou pour d'autres raisons connexes.

Voici les étapes essentielles pour y faire face.

1. Si le serveur de base de données se trouve sur une machine distante, essayez de tester la connectivité client-serveur à l'aide de la commande ping, par exemple :

ping server_ip_address

Une fois la connectivité établie, utilisez la commande ps ci-dessous qui affiche des informations sur une sélection de processus actifs, ainsi qu'une commande pipe et grep, pour vérifier que le démon mysql est exécuté sur votre système.

ps -Af | grep mysqld

où l'option :

  1. -A – active la sélection de tous les processus
  2. -f – active le listing au format complet

S'il n'y a aucun résultat de la commande précédente, démarrez le service mysql comme suit :

sudo systemctl start mysql.service
sudo systemctl start mariadb.service
OR
sudo /etc/init.d/mysqld start

Après avoir démarré le service MySQL, essayez d'accéder au serveur de base de données :

mysql -u username -p -h host_address  

2. Si vous obtenez toujours la même erreur, déterminez le port (la valeur par défaut est 3306) sur lequel le démon mysql écoute en exécutant la commande netstat.

netstat -lnp | grep mysql

où les options :

  1. -l – affiche les ports d'écoute
  2. -n – permet l'affichage des adresses numériques
  3. -p – affiche le PID et le nom du programme propriétaire du socket

Par conséquent, utilisez l'option -P pour spécifier le port que vous voyez dans la sortie ci-dessus lors de l'accès au serveur de base de données :

mysql -u username -p -h host_address -P port

3. Si toutes les commandes ci-dessus s'exécutent avec succès, mais que l'erreur persiste, ouvrez le fichier de configuration MySQL.

vi /etc/mysql/my.cnf
OR
vi /etc/mysql/mysql.conf.d/mysqld.cnf 

Recherchez la ligne ci-dessous et commentez-la en utilisant le caractère # :

bind-address = 127.0.0.1 

Enregistrez le fichier et quittez, puis redémarrez le service MySQL comme ceci :

sudo systemctl start mysql.service
sudo systemctl start mariadb.service
OR
sudo /etc/init.d/mysqld start

Cependant, si FirewallD ou Iptables est en cours d'exécution, essayez de vérifier les services de pare-feu et d'ouvrir le port MySQL, en supposant que c'est un pare-feu qui bloque les connexions TCP-IP à votre serveur MySQL.

C'est tout! Connaissez-vous d'autres méthodes ou avez-vous des suggestions pour résoudre l'erreur de connexion MySQL ci-dessus ? Faites-le nous savoir en laissant un commentaire via le formulaire de commentaires ci-dessous.