当我在测试套件中尝试连接到本地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文件?