Lorsque j'ai tenté de me connecter à un serveur MySQL local pendant ma suite de tests, cela échoue avec l'erreur:
OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
Cependant, je suis capable à tout moment de me connecter à MySQL en exécutant le mysql
programme de ligne de commande
. Un ps aux | grep mysql
indique que le serveur est en cours d'exécution et
stat /tmp/mysql.sock
confirme que le socket existe. De plus, si j'ouvre un débogueur dans la except
clause de cette exception, je suis capable de me connecter de manière fiable avec exactement les mêmes paramètres.
Ce problème se reproduit de manière assez fiable, mais il ne semble pas être à 100%, car chaque fois dans une lune bleue, ma suite de tests fonctionne en fait sans rencontrer cette erreur. Quand j'ai essayé de courir avec, sudo dtruss
il ne s'est pas reproduit.
Tout le code client est en Python, bien que je ne puisse pas comprendre en quoi cela serait pertinent.
Le passage à utiliser l'hôte 127.0.0.1
produit l'erreur:
DatabaseError: Can't connect to MySQL server on '127.0.0.1' (61)
mysql -h 127.0.0.1
travail de la ligne de commande? Je ne suis pas sûr que votre serveur mysql écoute réellement sur un port TCP.
mysql -h localhost
fonctionne-t-il de manière fiable?
max_connections
votre fichier de configuration MySQL?