Когда я пытался подключиться к локальному серверу MySQL во время моего набора тестов, он терпит неудачу с ошибкой:
OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
Однако я всегда могу подключиться к MySQL, запустив программу командной строки
mysql
. A ps aux | grep mysql
показывает, что сервер работает, и
stat /tmp/mysql.sock
подтверждает, что сокет существует. Кроме того, если я открою отладчик в except
пункте этого исключения, я смогу надежно подключиться с теми же параметрами.
Эта проблема воспроизводится довольно надежно, однако она не выглядит на 100%, потому что каждый раз в синюю луну мой набор тестов действительно запускается без появления этой ошибки. Когда я пытался бежать с sudo dtruss
ним, не воспроизводилось.
Весь клиентский код написан на Python, хотя я не могу понять, насколько это актуально.
При переключении на использование хоста 127.0.0.1
возникает ошибка:
DatabaseError: Can't connect to MySQL server on '127.0.0.1' (61)
mysql -h 127.0.0.1
работу из командной строки? Я не уверен, что ваш сервер mysql действительно прослушивает TCP-порт.
mysql -h localhost
надежно ли работает?
max_connections
в вашем MySQL conf файле?