MySQL veritabanına bağlantı hatası


9

Benim uygulama başka bir makinede bir mysql veritabanına oldukça sık bağlanır yapmak gerekir. Ancak bağlantıda sık sık hata alıyorum; Genellikle sonunda bağlanabilirim ama birçok yeniden denemeden sonra. Aldığım hata mesajı:

Mysql.mysql(): Couldn't connect to SQL-server: Lost connection to MySQL server at 'reading authorization packet', system error: 2

Buradaki bilgileri okudum: http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.html ve ayrıca hata http://bugs.mysql.com/bug için yorumlar .php? id = 28359 .

Gördüğünüz gibi çok sayıda durdurulmuş bağlantı var:

mysql> 'Aborted_connects' GİBİ GLOBAL DURUMU GÖSTER;
+ ------------------ + ------- +
| Değişken_adı | Değer |
+ ------------------ + ------- +
| Durduruldu_bağlantılar | 2540 |
+ ------------------ + ------- +

Zaman aşımı süresini 5 saniyeden 15 saniyeye çıkardım:

mysql> 'connect_timeout' gibi değişkenleri gösterir;
+ ----------------- + ------- +
| Değişken_adı | Değer |
+ ----------------- + ------- +
| connect_timeout | 15 |
+ ----------------- + ------- +

ama bu yardımcı olmadı. Bu hata ayıklama önerileriniz var mı? Veri tabanı etkileşimini, ortalama olarak çalışmadan önce 5 kez bağlanmaya çalıştığında korkunç bir şekilde yavaşlatır.

Uygulamanın ömrü boyunca bağlantıyı açık tutmaya çalışmadım, bu daha iyi olur mu? Bağlantının kapanmasını nasıl önleyebilirim?

Mysql sunucusu Debian Linux üzerinde iken, sorunları ile bilgisayara yardımcı olur Windows 7 32-bit.


Bunun sadece bir bandaj olduğunu biliyorum ama hata raporu URL'si "Connect_timeout genel değişkenini 30 saniyeye çıkararak sorunu çözdüm." Daha yüksek bir değer denemek ister misiniz?
JoseK

1
Soğuk konfor, ama bu iyi yazılmış bir soru. Eric S. Raymond makalesinin mükemmel takibi ... sana +1 ve iyi şanslar.
gWaldo

@JoseK Tabii ben deneyebilirsiniz ama ben 5 15'e kadar artırarak düzelme gördüğümüz gibi çok fark yaratacak şüphe
Zitrax

Değer 0 olarak ayarlanırsa, bu sınırlama getirmeyen değişkenlerden biri mi?
pjmorse

1
Makineler arasında bir çeşit bağlantı sorunu olmadığından, belki de bir ağ sorunundan memnun musunuz?
Warner

Yanıtlar:


2

Tüm hatalara baktığımda, burada bir ağ veya istemci tarafı sorunu olduğundan şüphelendiğim bir rapor ayrıntılarını. Bir şey mysql verilerine bozuk veya çok fazla gecikme ekliyor.

Net bir ağda, bir wireshark izlemesi yapın ve konuşmanın nasıl olduğunu kontrol edin. Hiçbir yerde trafik şekillendirme olmadığından emin olun. Sadece 64 bitlik bir sorun gibi görünüyor, bu yüzden sadece aynı sorunun olduğundan emin olmak için 32 bitlik bir yapıya bakın. Bir Windows XP kutusunu işaretleyin - M $, Vista'daki ağ yığınına biraz emzirdi, bu da onu emdi - bit zaman! Vista ve Win7 makineleriyle ağ sorunlarının sonu yok!

Eğer bir wireshark izini yönetirseniz, lütfen yapıştırın ve bağlantıyı hepimizin düşündüğümüz bir görünüm gibi koyun.


'64 bit gibi görünüyor' ile ne demek istiyorsun? Bu 32-bit bir kurulum. Ve üzgünüm Vista'dan bahsetmiştim, bu Win7, açıklama düzeltildi.
Zitrax

Wireshark ile hata ayıklamaya çok aşina değilim. Ama birkaç şey bana tuhaf geliyor, birkaç yeniden işaretlenmiş RST paketi ve TCP Yeniden İletimi var ve bazı paketlerin zamanı -257.3 saniye gibi negatif.
Zitrax

Başka bir anahtar kullanabilir ve lütfen tekrar test edebilirsiniz. farklı yapmak varsa? Eğer yapıştırabilir veya zip ve wireshark dökümü kullanılabilir hale bir göz alabilir ...
Khushil

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.