Kiedy próbowałem połączyć się z lokalnym serwerem MySQL podczas mojego zestawu testów, kończy się to niepowodzeniem z błędem:
OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
Jednak zawsze mogę połączyć się z MySQL, uruchamiając mysql
program wiersza poleceń
. A ps aux | grep mysql
pokazuje, że serwer jest uruchomiony, a
stat /tmp/mysql.sock
potwierdza, że gniazdo istnieje. Ponadto, jeśli otworzę debugger w except
klauzuli tego wyjątku, będę w stanie niezawodnie połączyć się z dokładnie tymi samymi parametrami.
Ten problem odtwarza się dość niezawodnie, jednak nie wydaje się, aby był w 100%, ponieważ co raz na niebieskim księżycu mój zestaw testowy w rzeczywistości działa bez tego błędu. Kiedy próbowałem z sudo dtruss
nim biegać , nie rozmnażałem się.
Cały kod klienta jest w Pythonie, chociaż nie wiem, jakie to ma znaczenie.
Przełączenie do korzystania z hosta 127.0.0.1
powoduje błąd:
DatabaseError: Can't connect to MySQL server on '127.0.0.1' (61)
mysql -h 127.0.0.1
pracę z linii poleceń? Nie jestem pewien, czy Twój serwer mysql faktycznie nasłuchuje na porcie TCP.
mysql -h localhost
działa niezawodnie?
max_connections
swój plik konfiguracyjny MySQL?