139 votes

Impossible de se connecter au serveur MySQL local via le socket homebrew

J'ai récemment essayé d'installer MySQL avec homebrew ( brew install mysql ) et lorsque j'essaie de l'exécuter, j'obtiens l'erreur suivante :

ERREUR 2002 (HY000) : Impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock' (2)

No hay /tmp/mysql.sock ni un /var/lib/mysql.sock .

J'ai cherché et je n'ai rien trouvé. mysql.sock archivo.

Comment puis-je réparer cela ?

0 votes

Vous pouvez voir ce lien Réponse de GeekHades. stackoverflow.com/questions/4847069/

0 votes

J'ai installé mysql récemment et j'ai eu le même problème après que la batterie de mon ordinateur portable soit morte et ait forcé un arrêt incomplet. Cela vaut la peine de lancer mysqld pour vérifier les choses et s'assurer que MySQL s'est arrêté correctement la dernière fois. S'il y a eu un arrêt "sale" (par exemple, si une batterie d'ordinateur portable force l'arrêt du système), cela devrait le nettoyer. Vous pouvez alors relancer le serveur MySQL : mysql.server start .

1 votes

Cette réponse a fonctionné pour moi : stackoverflow.com/a/6378429/2641861

2voto

user1506194 Points 111

En cours d'exécution mysql_secure_installation et en entrant le nouveau mot de passe que j'ai obtenu :


Erreur : Impossible de se connecter au serveur MySQL local via le socket /tmp/mysql.sock' (2)


J'ai remarqué que lorsque j'ai essayé de faire ce qui suit à partir de cette réponse :

netstat -ln | grep mysql

Il n'a rien retourné, et j'ai pensé que cela signifiait qu'il n'y avait pas de fichier .sock.

J'ai donc ajouté ce qui suit à mon mon.cnf (soit dans /etc/my.cnf ou dans mon cas, /usr/local/etc/my.cnf ).

Sous :

[mysqld]
socket=/tmp/mysql.sock

Sous :

[client]
socket=/tmp/mysql.sock

Cela s'est basé sur ce poste .

Puis arrêter/démarrer mysql à nouveau et réessayer mysql_secure_installation qui m'a finalement permis d'entrer mon nouveau mot de passe Root et de continuer avec d'autres préférences de configuration.

1voto

FianGaming Points 11

Cela fonctionne pour moi :

brew upgrade mysql

0 votes

En fait, cela résout mon problème.

1voto

Si brew ne termine pas "postinstall" je n'ai qu'à utiliser :

sudo chown -R $(whoami) /usr/local/*

puis complété la post-installation par :

brew postinstall mysql@5.7

L'étape suivante consiste à lancer le service mysql@5.7.

Cela a fonctionné pour moi sur MacOS Monterey.

1voto

Allison Points 166

J'ai également rencontré ce problème... il semble résulter de quelques artefacts résiduels de plusieurs installations de mysql sur ma machine de développement. Chaque fois que j'essayais de démarrer ou de redémarrer le service mysql, il se plantait. En fin de compte, le fait de travailler sur le fichier err m'a aidé à résoudre mon problème.

Mise en place :

  • Macbook Pro M1 fonctionnant sous OS 12 (Monterey)
  • Installation Homebrew de mysql@5.7

A différents moments du dépannage, j'ai essayé de désinstaller tout ce qui concerne mysql dans ma liste Homebrew, de supprimer /opt/homebrew/var/mysql et réinstaller mysql@5.7 en vain. J'ai également essayé de redémarrer ma machine.

J'ai pu valider ce qui se passait lorsque le service n'arrivait pas à démarrer en examinant les données suivantes err (par exemple, MyComputerName.local.err ) qu'il crachait dans /opt/homebrew/var/mysql/ lorsque j'ai essayé de démarrer/redémarrer le service via Homebrew. Au début, je voyais des choses comme ça qui indiquaient des problèmes avec la configuration :

mysqld: Table 'mysql.plugin' doesn't exist
TIMESTAMPZ 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
TIMESTAMPZ 0 [ERROR] unknown variable 'mysqlx-bind-address=127.0.0.1'
TIMESTAMPZ 0 [ERROR] Aborting

J'ai supprimé my.cnf y my.cnf.default en /opt/homebrew/etc et tenté de relancer le service. Ensuite, l'échec s'est transformé en ceci :

TIMESTAMPZ 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
TIMESTAMPZ 0 [ERROR] Fatal error: Failed to initialize ACL/grant/time zones structures or failed to remove temporary table files.
TIMESTAMPZ 0 [ERROR] Aborting

À ce stade, j'ai remarqué que plusieurs fichiers de verrouillage mysql dans /opt/homebrew/var/homebrew/locks/ ( mysql.formula.lock , mysql.formula@5.7.lock , mysql.formula@8.0.lock ) ; j'ai supprimé ces fichiers, ainsi que tout ce qui concerne mysql dans /opt/homebrew/var/homebrew/linked .

Après cela, j'ai pu lancer mysql sans aucun problème.

0voto

alexdd55 Points 1072

Juste pour compléter ce fil. donc MAMP (PRO) est utilisé assez souvent

le chemin ici est

/Applications/MAMP/tmp/mysql/mysql.sock

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X