Présentation
Les utilisateurs travaillant avec MySQL peuvent rencontrer l'erreur 'Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock (2)' lors de la connexion à l'interface MySQL. Ce problème survient généralement si MySQL ne peut pas accéder à mysqld.sock fichier socket.
Dans ce didacticiel, nous passerons en revue les causes potentielles du message 'Impossible de se connecter au serveur MySQL local via socket ' et vous montrer différentes méthodes pour résoudre ce problème.

Prérequis
- Un système exécutant Ubuntu 20.04
- Un compte utilisateur avec des privilèges sudo
- Accès à la fenêtre du terminal/ligne de commande
- Une copie de MySQL installée et prête à l'emploi (apprenez à l'installer avec notre guide d'installation de MySQL sur Ubuntu 20.04)
Résolution de l'erreur "Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock' (2)"
Il existe plusieurs façons de résoudre le 'Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock (2)' Erreur. Si une solution ne fonctionne pas, parcourez la liste jusqu'à ce que vous trouviez celle qui résout le problème.
Méthode 1 :Vérifier le service MySQL
1. Vérifiez l'état du service MySQL avec :
sudo systemctl status mysql

2. Si le service n'est pas en cours d'exécution, redémarrez-le en utilisant :
sudo systemctl start mysql
3. Pour éviter que ce problème ne se produise, configurez le service MySQL pour qu'il démarre automatiquement au démarrage :
sudo systemctl enable mysql

Méthode 2 :vérifier l'emplacement de mysqld.sock
Le 'Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock' (2)' l'erreur se produit également si MySQL ne trouve pas le mysql.sock fichier socket.
1. Trouvez le mysqld.sock actuel emplacement en utilisant find
commande pour lister tous les fichiers socket de votre système :
sudo find / -type s

2. Ouvrez le fichier de configuration MySQL dans un éditeur de texte de votre choix. Dans cet exemple, nous utilisons nano :
sudo nano /etc/mysql/my.cnf
3. Ajoutez ensuite les lignes suivantes à la fin du fichier de configuration MySQL :
[mysqld]
socket=[path to mysqld.sock]
[client]
socket=[path to mysqld.sock]
Où :
[path to mysqld.sock]
:Chemin d'accès à mysqld.sock socket que vous avez trouvé à l'étape 1 .

Une autre méthode consiste à créer un lien symbolique à partir de l'emplacement de mysqld.sock vers /var/run/mysqld répertoire :
ln -s [path to mysqld.sock] /var/run/mysqld/mysqld.sock
4. Appuyez sur Ctrl+X pour fermer le fichier de configuration et tapez Y et appuyez sur Entrée pour enregistrer les modifications que vous avez apportées.
4. Enfin, redémarrez le service MySQL :
sudo systemctl restart mysql
Méthode 3 :vérifier l'autorisation du dossier MySQL
Une autre cause potentielle pourrait être que le service MySQL ne peut pas accéder à /var/run/mysqld répertoire en raison de restrictions d'autorisation :
1. Pour résoudre ce problème, modifiez les paramètres d'autorisation pour mysqld répertoire avec :
sudo chmod -R 755 /var/run/mysqld
Définition de l'autorisation sur 755
permet à l'utilisateur root de lire, écrire et exécuter le répertoire, tandis que les autres utilisateurs ne peuvent que lire et exécuter.
2. Redémarrez le service MySQL pour que les modifications prennent effet :
sudo systemctl restart mysql
Méthode 4 :Vérifier plusieurs instances MySQL
L'erreur se produit également si plusieurs instances de MySQL s'exécutent en même temps.
1. Pour lister toutes les instances de MySQL, utilisez :
ps -A|grep mysqld

2. Si plusieurs instances MySQL sont en cours d'exécution, résiliez-les avec :
sudo pkill mysqld
3. Redémarrez le service MySQL pour démarrer une seule instance de MySQL :
sudo systemctl restart mysql