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
mysqlausführe. A ps aux | grep mysqlzeigt an, dass der Server ausgeführt wird, und
stat /tmp/mysql.sockbestätigt, dass der Socket vorhanden ist. Wenn ich einen Debugger in der exceptKlausel 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 dtrusses 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.1fü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 localhostzuverlässig?

max_connectionsSie vielleicht, Ihre MySQL-Conf-Datei zu vergrößern?