J'ai installé le serveur MySQL et j'essaie de me connecter, mais j'obtiens l'erreur:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
J'ai vérifié mon répertoire/tmp et il n'y a pas mysql.sock. Je ne trouve nulle part mysql.sock. J'ai lu qu'il pourrait être dans
/var/lib/mysql/mysql.sock
Mais j’ai vérifié là aussi et il n’ya même pas de répertoire mysql, seulement quelques trucs postfixés dans/lib. Quelqu'un pourrait-il m'aider avec ce problème?
Essayez de démarrer le serveur MySQL:
mysql.server start
J'ai eu la même question après la mise à jour de OS X Yosemite. La solution est simple. Vérifiez les préférences système -> mysql, l'état était STOP. Il suffit de le redémarrer et cela fonctionne bien sur mon mac maintenant.
Pour MAMP
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
UPDATE: Chaque fois que mon ordinateur redémarre, je dois entrer cette commande et j'ai donc créé un raccourci.
Procédez comme suit dans le type de terminal:
~: vi ~/.profile
Ajouter
alias ...='source ~/.profile'
alias sockit='Sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock'
Sauver.
En type de terminal:
~: ...
pour obtenir la configuration .profile.
Maintenant, dans le terminal, vous pouvez simplement taper
~: sockit
La commande suivante a résolu mon problème:
Sudo chown -R _mysql:mysql /usr/local/var/mysql
Sudo mysql.server start
Après avoir essayé toutes les solutions, cela ne fonctionnait que pour moi après avoir spécifié l'hôte.
mysql -u root -p -h127.0.0.1
en demandant un mot de passe
Enter password:
appuyez sur Entrée
et cela fonctionnera si tout va bien comme ci-dessus.
Après avoir résolu mon problème:
Vérifiez où se trouve votre serveur MySQL en train d'écouter: netstat -nlp S'il est en train d'écouter TCP, utilisez 127.0.0.1 lors de la connexion à la base de données au lieu de "localhost"
Vérifiez la documentation MySQL ici
Dans votre fichier de configuration mysql, présent dans /etc/my.cnf
, apportez les modifications ci-dessous puis redémarrez mysqld
dameon process.
[client]
socket=/var/lib/mysql/mysql.sock
Vérifiez également ce fil connexe
Impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock
Essayez ceci cela a fonctionné pour moi.
Sudo /usr/local/mysql/support-files/mysql.server start
Après avoir lutté pendant des heures, la seule chose qui a fonctionné était
Sudo mysql.server start
Faites ensuite une installation sécurisée avec
mysql_secure_installation
Puis connectez-vous à la base de données via
mysql -uroot -p
Mysql est installé via homebrew et la version est
Server version: 5.7.21 Homebrew
Spécifier la version peut être utile car la solution peut être différente en fonction de la version.
Si vous utilisez XAMPP sous Mac OS X et avez installé MySQL avec Homebrew, vous risquez de rencontrer ce problème. Dans la fenêtre du gestionnaire XAMPP, accédez à Gérer les serveurs et sélectionnez MySQL, puis cliquez sur Configurer et ouvrez le fichier de configuration. Vous y trouverez le chemin du fichier de socket, le chemin dans la configuration de votre hôte MySQL et il devrait fonctionner.
C'est quelque chose comme ça:
...
[client]
#password = your_password
port = 3306
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
...
puis, par exemple à Django:
...
DATABASES = {
"default": {
"ENGINE": "Django.db.backends.mysql",
"NAME": "database_name",
"USER": "user",
"PASSWORD": "password",
"Host": "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock",
"PORT": "",
}
}
...
J'espère que cela t'aides.
J'ai passé beaucoup de temps à faire cela. Je veux mettre mon application Django sur mon serveur et quand je lance python manage.py migrate
j'ai rencontré cette question.
Et!! J'ai mis ceci ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
Cela a fonctionné finalement!