Aplikasi saya perlu melakukan koneksi yang cukup sering ke database mysql di komputer lain. Namun saya sering mendapatkan kesalahan pada koneksi; Saya biasanya bisa terhubung tetapi setelah banyak percobaan. Pesan kesalahan yang saya dapatkan adalah:
Mysql.mysql(): Couldn't connect to SQL-server: Lost connection to MySQL server at 'reading authorization packet', system error: 2
Saya telah membaca informasi di sini: http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.html dan juga komentar untuk bug http://bugs.mysql.com/bug .php? id = 28359 .
Ada cukup banyak koneksi yang dibatalkan seperti yang Anda lihat:
mysql> TAMPILKAN STATUS GLOBAL SEPERTI 'Aborted_connects'; + ------------------ + ------- + | Variable_name | Nilai | + ------------------ + ------- + | Aborted_connects | 2540 | + ------------------ + ------- +
Saya menambah batas waktu dari 5 menjadi 15 detik:
mysql> tampilkan variabel seperti 'connect_timeout'; + ----------------- + ------- + | Variable_name | Nilai | + ----------------- + ------- + | connect_timeout | 15 | + ----------------- + ------- +
tetapi ini tidak membantu. Ada saran bagaimana cara men-debug ini? Itu membuat interaksi database sangat lambat ketika rata-rata harus mencoba menghubungkan 5 kali sebelum berfungsi.
Saya belum mencoba untuk menjaga koneksi tetap terbuka untuk masa aplikasi, apakah itu lebih baik? Bagaimana cara mencegah koneksi menutup?
Jika itu membantu komputer dengan masalah adalah Windows 7 32-bit, sedangkan server mysql ada di Debian Linux.
sumber
Jawaban:
Melihat semua rincian bug dan laporan saya menduga ada masalah jaringan atau sisi klien di sini. Sesuatu rusak atau menambah terlalu banyak latensi ke data mysql.
Di jaringan yang jelas, lakukan jejak wireshark dan periksa seperti apa percakapan itu. Pastikan tidak ada pembentukan lalu lintas yang terjadi di mana pun. Sepertinya masalah 64bit saja jadi periksa 32bit build hanya untuk memastikan itu masalah yang sama. Periksa kotak Windows XP - M $ melakukan beberapa hal funky ke tumpukan jaringan di Vista yang membuatnya payah - sedikit waktu! Kami tidak memiliki masalah jaringan dengan mesin Vista dan Win7!
Jika Anda mengelola jejak wireshark, tolong tempelkan dan pasang tautan seperti yang kita semua suka, saya pikir.
sumber
Pada akhirnya ini ternyata karena masalah jaringan umum pada mesin. Solusinya ditemukan di: Masalah kinerja jaringan pada windows 7
sumber