web-dev-qa-db-fra.com

Pour un débutant: ERROR 2002 (HY000): Impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock'

J'ai installé MySQL sur Mac OS X Mountain Lion avec homebrew install mysql, mais lorsque j'ai essayé mysql -u root, l'erreur suivante s'est produite:

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

Que signifie cette erreur? Comment puis-je le réparer?

138
shrewdbeans

C'est probablement parce que MySQL est installé mais pas encore en cours d'exécution.

Pour vérifier qu'il est en cours d'exécution, ouvrez Activity Monitor et sous "Tous les processus", recherchez et vérifiez que le processus "mysqld" apparaît.

Vous pouvez le démarrer en installant "MySQL.prefPane".

Voici le tutoriel complet qui m'a aidé: http://obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html

85
shammerw0w

Vous devrez démarrer MySQL avant de pouvoir utiliser la commande mysql sur votre terminal. Pour ce faire, exécutez brew services start mysql. Par défaut, brew installe la base de données MySQL sans mot de passe root. Pour le sécuriser, lancez: mysql_secure_installation.

Pour vous connecter, lancez: mysql -uroot. root est le nom d'utilisateur ici.

65

Cela s'est produit après l'installation de la bière maison. Cela est dû à des problèmes d'autorisation. Les commandes suivantes ont résolu le problème.

Sudo chown -R _mysql:mysql /usr/local/var/mysql

Sudo mysql.server start
46

Exécuter: brew info mysql

Et suivez les instructions. De la description dans la formule:

Set up databases to run AS YOUR USER ACCOUNT with:
    unset TMPDIR
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

To set up base tables in another folder, or use a different user to run
mysqld, view the help for mysql_install_db:
    mysql_install_db --help

and view the MySQL documentation:
  * http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
  * http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

J'espère que cela t'aides.

41
Gaurav Agarwal

Comme d'autres l'ont souligné, cela est dû au fait que MySQL est installé mais que le service n'est pas en cours d'exécution. Il existe de nombreuses façons de démarrer le service MySQL et voici ce qui a fonctionné pour moi:.

Pour démarrer le service:

  1. Aller à "Préférences Système"
  2. Dans le volet inférieur, l'icône MySql devrait apparaître. 
  3. Double-cliquez dessus pour lancer «Statut du serveur MySQL» et cliquez sur le bouton «Démarrer le serveur MySQL». 

Mon env:

Mac Yosemite 10.10.3

Package installé: /Volumes/mysql-advanced-5.6.24-osx10.8-x86_64

30
Ithar

Les solutions s'articulent autour de:

  • changer les permissions de MySQL

    Sudo chown -R _mysql:mysql /usr/local/var/mysql
    
  • Démarrer un processus MySQL

    Sudo mysql.server start
    

Juste pour ajouter beaucoup de réponses intéressantes et utiles qui ont été fournies ici et de nombreux messages différents, essayez de spécifier l’hôte si les commandes ci-dessus ne vous ont pas permis de résoudre ce problème, 

mysql -u root -p h127.0.0.1
15
mondieki

J'inclus ci-dessous les dernières instructions de brew install mysql pour que les nouvelles recherches sur ce problème puissent en tirer parti:

$ brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz

To connect:
    mysql -uroot

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
  mysql.server start

Dans mon cas, j'ai chargé mysql maintenant via launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist et j'ai ensuite pu lancer $ mysql et être sur mon chemin.

J'espère que cela aide les dépanneurs récents!

12
ggentzke

On dirait que votre serveur mysql n'est pas démarré. Je lance habituellement la commande stop puis le redémarre:

mysqld stop
mysql.server start

Même erreur, et cela fonctionne pour moi.

9
Prakhar Agarwal

Cela a résolu mon problème lorsque j'ai redémarré le service mysql. Il suffit de courir:

brew services start mysql
9
pmventura

J'avais MySQL installé avec Homebrew, et la seule chose qui a résolu ce problème pour moi a été de réinstaller MySQL.

Sur l'ordinateur portable de mon entreprise, je n'avais pas la permission de désinstaller MySQL de mon ordinateur via Homebrew:

$ brew uninstall mysql --ignore-dependencies
Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12

Alors au lieu de cela, j'ai supprimé et réinstallé MySQL manuellement:

$ Sudo rm -rf /usr/local/Cellar/mysql
$ brew cleanup
$ Sudo rm -rf /usr/local/var/mysql
$ brew install mysql

Et ça a marché!

8
yndolok

J'ai trouvé la solution à mon problème. C'était en effet parce que mon serveur MySQL ne fonctionnait pas.

Cela était dû au fait que MySQL n’était pas correctement configuré sur ma machine et ne pouvait donc pas fonctionner.

Pour remédier à cela, j'ai utilisé un script qui installe MySQL sur Mac OSX Mountain Lion, qui doit avoir installé les fichiers manquants.

Voici le lien: http://code.macminivault.com/

Remarque importante: _ ​​Ce script définit le mot de passe root comme une chaîne générée aléatoirement, qu'il enregistre sur le bureau. Veillez donc à ne pas supprimer ce fichier ni à noter le mot de passe. Il installe également le gestionnaire MySQL dans votre Je ne suis pas sûr si supprime des bases de données existantes, alors faites attention à cela.

3
shrewdbeans

Ough, cela m'a pris un certain temps à comprendre. Je l'ai vu dans un commentaire. Après avoir installé mysql avec brew et lancé le service (peut-être avec Sudo brew services start mysql), lancez:

$ mysqld

Et MySQL devrait être en cours d’exécution par la suite.

3
FooBar

Pour moi, c'était simple comme courir:

/usr/local/opt/mysql/bin/mysqld_safe

au lieu de mysqld

3
Kenny Cason

Dans mon cas, il s’agissait simplement de supprimer un fichier de verrouillage.

Sudo rm -f /tmp/mysql.sock.lock
3
Brad Johnson

Après avoir travaillé dessus pendant plusieurs heures, ce qui a fonctionné pour moi a été Allez dans/etc/mysql/et modifiez le fichier my.cnf. Ajouter ce qui suit

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
2
Jackstine

J'ai essayé tous les moyens possibles pour résoudre ce problème, comme ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock, désinstallez et réinstallez mysql, assurez-vous que mysql fonctionne sur xampp mais aucun ne fonctionne toujours. . 

Enfin, j'ouvre my.cnf (fichier de configuration) et copie le chemin d'accès au socket (assurez-vous de copier le chemin d'accès complet, sinon cela ne fonctionnera pas). Puis j'exécute cette commande dans mon terminal

mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

Et voilà, mysql se lance.

Cette solution ne fonctionnera que si votre MySQL s’exécute sous Xampp/Ampps, mais dans le terminal, il ne se connecte toujours pas au bon socket alors que vous avez déjà essayé quelque chose comme:

./mysql -u root

ou

brew services start mysql

J'espère que ça aide!

1
Kate Lee

seulement cela a fait le tour pour moi brew services start --all (après avoir essayé toutes les réponses)

0
user10604324

Dans mon cas, juste après l'installation du MAMP, accéder à mysql depuis le terminal donnait la même erreur de socket. À la fin, tout ce qu’elle voulait, c’était un redémarrage et tout fonctionnait bien.

0
div

Je suis passé par ce problème et j'ai réussi à exécuter le serveur mysql en utilisant la solution ci-dessous

Installez mysql via .dmg ( https://dev.mysql.com/downloads/mysql/5.7.html ), vous obtiendrez le panneau de service mysql dans les préférences système, puis démarrez mysql à partir du panneau et essaye

mysql -u root -p

Images jointes pour référence

System Preferences

Mysql panel

0
Aravind Vemula

ce problème lié à l'accès au dossier /usr/local/var/mysql, je supprime ce dossier et réinstalle mysql.

  1. désinstallez mysql avec brew:

    brew uninstall mysql

  2. Sudo rm -r /usr/local/var/mysql

  3. brew install [email protected]
  4. mysql -u root

Cette solution fonctionne bien pour moi!

0
barsmaga

Beaucoup d'autres réponses utiles ici, mais rien ne résout ce problème pour moi. En fin de compte, rien de ce que j'ai trouvé sur ce site ni sur d'autres ne ferait fonctionner une version de MySQL d'Homebrew pour moi.

Il était très facile de télécharger le fichier DMG à partir de https://dev.mysql.com/downloads/file/?id=479114 (trouver la version appropriée) et de laisser l’assistant l’installer pour moi. La seule autre étape manuelle consistait à ajouter /usr/local/mysql/bin à my PATH.

Je recommanderais cette option si brasser vous pose des problèmes.

Mise à jour - si cela ne résout toujours pas le problème, essayez de purger complètement mysql avant d'installer via DMG. Suivez ces instructions: https://Gist.github.com/vitorbritto/0555879fe4414d18569d

0
Patrick

Essaye ça

rm -rf /usr/local/var/mysql && brew postinstall [email protected] && brew services restart [email protected]
0
Golam Sorwar