Essayez cette commande,
sudo service mysql start
Pour trouver tous les fichiers de socket sur votre système, exécutez :
sudo find / -type s
Mon système de serveur Mysql avait le socket ouvert à /var/lib/mysql/mysql.sock
Une fois que vous avez trouvé où le socket est ouvert, ajoutez ou modifiez la ligne de votre fichier /etc/my.cnf avec le chemin d'accès au fichier socket :
socket=/var/lib/mysql/mysql.sock
Parfois, le script de démarrage du système qui a lancé l'exécutable de la ligne de commande spécifie un indicateur --socket=path
. Cet indicateur pourrait remplacer l'emplacement my.cnf, ce qui entraînerait l'absence de socket là où le fichier my.cnf l'indique. Ensuite, lorsque vous essayez d'exécuter le client de ligne de commande mysql, il lira my.cnf pour trouver le socket, mais il ne le trouvera pas car il s'écarte de l'endroit où le serveur en a créé un. Donc, à moins que vous ne vous souciez de l'emplacement du socket, il suffit de changer my.cnf pour qu'il corresponde.
Ensuite, arrêtez le processus mysqld. La manière dont vous procéderez variera selon le système.
Si vous êtes un super utilisateur du système Linux, essayez l'une des méthodes suivantes si vous ne connaissez pas la méthode spécifique utilisée par votre configuration Mysql :
service mysqld stop
/etc/init.d/mysqld stop
mysqladmin -u root -p shutdown
- Certains systèmes ne sont pas configurés pour avoir un moyen élégant d'arrêter mysql (ou pour une raison quelconque, mysql ne répond pas) et vous pouvez forcer l'arrêt de mysql avec :
- Une étape :
pkill -9 mysqld
- Deux étapes (la moins préférée) :
- Trouvez l'ID de processus de mysql avec soit
pgrep mysql
oups aux | grep mysql | grep -v grep
- En supposant que l'ID de processus est
4969
terminer parkill -9 4969
- Trouvez l'ID de processus de mysql avec soit
- Une étape :
Après cela, vous voudrez peut-être rechercher un fichier pid dans /var/run/mysqld/
et supprimez-le
Assurez-vous que les permissions sur votre socket sont telles que tout utilisateur mysqld en cours d'exécution peut lire/écrire dessus. Un test simple consiste à l'ouvrir en lecture/écriture complète et à voir s'il fonctionne toujours :
chmod 777 /var/run/mysqld/mysqld.sock
Si cela résout le problème, vous pouvez personnaliser les autorisations et la propriété du socket selon vos besoins en fonction de vos paramètres de sécurité.
De plus, le répertoire dans lequel réside le socket doit être accessible par l'utilisateur exécutant le processus mysqld.
Cette erreur se produit en raison de plusieurs installations de mysql. Exécutez la commande :
ps -A|grep mysql
Tuez le processus en utilisant :
sudo pkill mysql
puis exécutez la commande :
ps -A|grep mysqld
Tuez également ce processus en exécutant :
sudo pkill mysqld
Maintenant que vous êtes entièrement configuré, exécutez simplement les commandes suivantes :
service mysql restart
mysql -u root -p
Ayez à nouveau très bien mysql de travail