Cuando intenté conectarme a un servidor MySQL local durante mi paquete de prueba, falla con el error:
OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
Sin embargo, en todo momento puedo conectarme a MySQL ejecutando el mysql
programa de línea de comando
. A ps aux | grep mysql
muestra que el servidor se está ejecutando y
stat /tmp/mysql.sock
confirma que el socket existe. Además, si abro un depurador en la except
cláusula de esa excepción, puedo conectarme de manera confiable con los mismos parámetros exactos.
Este problema se reproduce de manera bastante confiable, sin embargo, no parece ser 100%, porque de vez en cuando en una luna azul, mi suite de prueba realmente se ejecuta sin detectar este error. Cuando intenté correr con sudo dtruss
él no se reprodujo.
Todo el código del cliente está en Python, aunque no puedo entender cómo eso sería relevante.
El cambio para usar el host 127.0.0.1
produce el error:
DatabaseError: Can't connect to MySQL server on '127.0.0.1' (61)
mysql -h 127.0.0.1
el trabajo de la línea de comandos? No estoy tan seguro de que su servidor mysql realmente esté escuchando en un puerto TCP.
mysql -h localhost
funciona de manera confiable?
max_connections
su archivo de configuración de MySQL?