Ketika saya mencoba untuk terhubung ke server MySQL lokal selama rangkaian pengujian saya, itu gagal dengan kesalahan:
OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
Namun, saya dapat setiap saat, terhubung ke MySQL dengan menjalankan mysql
program baris perintah
. A ps aux | grep mysql
menunjukkan server sedang berjalan, dan
stat /tmp/mysql.sock
mengkonfirmasi bahwa soket ada. Selanjutnya, jika saya membuka debugger di except
klausul pengecualian itu, saya dapat terhubung dengan andal dengan parameter yang sama persis.
Masalah ini mereproduksi cukup andal, namun tampaknya tidak 100%, karena setiap kali di bulan biru, rangkaian pengujian saya sebenarnya berjalan tanpa mengenai kesalahan ini. Ketika saya mencoba untuk menjalankan dengan sudo dtruss
itu tidak mereproduksi.
Semua kode klien ada di Python, meskipun saya tidak tahu bagaimana itu bisa relevan.
Beralih untuk menggunakan host 127.0.0.1
menghasilkan kesalahan:
DatabaseError: Can't connect to MySQL server on '127.0.0.1' (61)
mysql -h 127.0.0.1
bekerja dari commandline? Saya tidak begitu yakin server mysql Anda benar-benar mendengarkan pada port TCP.
mysql -h localhost
bekerja dengan andal?
max_connections
di file conf MySQL Anda?