เมื่อฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ 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
ไฟล์ Conf MySQL ของคุณ?