280 votes

"Ne Peut pas se connecter...through socket '/tmp/mysql'" lors de l'installation de MySQL sur Mac OS X 10.6 avec Homebrew

Donc, je suis en train d'installer Mysql via homebrew, en utilisant la procédure standard: brew install mysql

Mais l'exécution de Mysql obtient cette erreur:

ERREUR de 2002 (HY000): can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)

Je suis en train d'essayer cela sur un nouvel ordinateur. Il n'y a pas un /etc/my.cnf, mais la modification de la prise lieux ne semblent influer sur le message d'erreur ci-dessus (mais ne résout pas le problème).

Toutes les autres étapes de base que j'ai raté?

272voto

Andrejas Points 2273

Tout d'abord, votre serveur mysql n'est pas en cours d'exécution. Vous pouvez essayer de le démarrer à l'aide de

mysql.server start 

Si cela échoue, vous pouvez vérifier le journal d'erreur dans /usr/local/mysql/data/[nom d'hôte].err. Ce fichier va vous donner des indices. Si vous lisez quelque chose comme

110717 11:41:43  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.

.. vous devez vous assurer que vos droits sont corrects. Pour moi, cela a résolu:

chown -R mysql:mysql /usr/local/mysql/data

Si vous ne pouvez toujours pas démarrer après que google le message d'erreur à la fin de /usr/local/mysql/data/[nom d'hôte].err

139voto

Eric Dennis Points 1178

Est mysql démarrer correctement lorsque vous exécutez /usr/local/bin/safe_mysqld?

Si oui:

Vérifier l' /tmp/mysql.sock le fichier existe.

Si ce n'est pas:

mysqld stop
touch /tmp/mysql.sock

// With old brew recipes
safe_mysqld restart
// With new brew recipes
mysqld_safe restart

Si mysql ne démarre pas correctement après que la dernière ligne:

Vous devrez peut-être installer les tables manuellement à l'aide d' /usr/local/bin/mysql_install_db, puis redémarrez mysql.

75voto

Naoise Golden Points 2969

Je voulais juste mentionner que pour les utilisateurs de Mac OS X, vous pouvez allez dans les Préférences Système > MySQL (si installé) et assurez-vous qu'il est en cours d'exécution.

mysql start mac os x

28voto

Moxley Stratton Points 201

C'est ce que j'ai fait pour passer un socket créé. Sans ces mesures, il n'y a pas de prise, et donc vous devez vous connecter à mysql en utilisant le paramètre host (-h127.0.0.1).

Configurer des bases de données à exécuter en tant QU'UTILISATEUR de VOTRE COMPTE avec:

/usr/local/bin/mysql.server stop
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Créer un mon.cnf fichier /usr/local/etc/my.cnf:

[mysqld]
socket=/tmp/mysql.sock

Je recommande d'utiliser lunchy pour gérer votre serveur mysql processus, parce que launchctl est une douleur à utiliser. Si vous avez Ruby gems Ruby installé:

gem install lunchy
lunchy start mysql

17voto

ksingh Points 173
  1. Allez dans "Préférences Système".
  2. Cliquez sur le MySQL bouton "Autres" volet.
  3. Cliquez sur "Démarrer le Serveur MySQL" bouton pour démarrer le serveur.

Le serveur a été arrêté et c'est pourquoi j'ai été faire l'erreur de tout ce temps.

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: