Beim Versuch, während meiner Testsuite eine Verbindung zu einem lokalen MySQL-Server herzustellen, schlägt der folgende Fehler fehl:
OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
Ich kann jedoch jederzeit eine Verbindung zu MySQL herstellen, indem ich das Befehlszeilenprogramm
mysql
ausführe. A ps aux | grep mysql
zeigt an, dass der Server ausgeführt wird, und
stat /tmp/mysql.sock
bestätigt, dass der Socket vorhanden ist. Wenn ich einen Debugger in der except
Klausel dieser Ausnahme öffne , kann ich außerdem zuverlässig eine Verbindung mit genau denselben Parametern herstellen.
Dieses Problem wird ziemlich zuverlässig reproduziert, scheint jedoch nicht 100% zu sein, da meine Testsuite bei jedem blauen Mond tatsächlich ausgeführt wird, ohne diesen Fehler zu treffen. Als ich versuchte damit zu laufen, wurde sudo dtruss
es nicht reproduziert.
Der gesamte Client-Code ist in Python, obwohl ich nicht herausfinden kann, wie relevant das wäre.
Das Wechseln zur Verwendung des Hosts 127.0.0.1
führt zu folgendem Fehler:
DatabaseError: Can't connect to MySQL server on '127.0.0.1' (61)
mysql -h 127.0.0.1
über die Kommandozeile? Ich bin mir nicht sicher, ob Ihr MySQL-Server tatsächlich einen TCP-Port überwacht.
mysql -h localhost
zuverlässig?
max_connections
Sie vielleicht, Ihre MySQL-Conf-Datei zu vergrößern?