Pilonlar hatası - 'MySQL server has gone away'

oy
13

[Burada kimse bilmiyor ben bu çok belirsiz değil umut ... Ben haber grubunu isteyeceğiz]

Ben basit bir web uygulaması hizmet etmek direkleri (bir piton çerçeve) kullanıyorum ama hata günlüğünde bununla, zaman zaman ölmek görünüyor: (2006, 'MySQL server has gone away')

Ben kontrol biraz yaptım ve MySQL bağlantıları yenileniyor değildi çünkü bu olduğunu gördü. Bunun nedeni, olsa sorun olmamalı sqlalchemy.pool_recycleyapılandırma dosyasında otomatik olarak canlı tutmak gerekir. Varsayılan oldu 3600, ama geri onu çevrilen 1800nedeniyle bu soruna. Bu biraz yardımcı, ama 3600 gereken dokümanlar göre iyi olacak. Hatalar hala yarı düzenli olur. Ben kendi veritabanı :) çok çok olsa ve DOS düşürmek istemiyoruz.

Belki benim MySQL config bir şey aptal mı? Tam olarak nereye bakacağını emin değilim.

Diğer ilgili ayrıntıları:

  Python 2.5
  Pylons: 0.9.6.2 (w/ sql_alchemy)
  MySQL: 5.0.51
Oluştur 11/08/2008 saat 18:59
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
2

Sen MySQL'ın zaman aşımı değişkenlerini kontrol etmek isteyebilirsiniz:

show variables like '%timeout%';

Muhtemelen ilgilendiğiniz wait_timeout(az olasılıkla ancak mümkün: interactive_timeout). Debian ve Ubuntu günü, varsayılan (MySQL 8 saat sonra bağlantıları öldürür) 28800, ama belki senin platformu için varsayılan farklıdır ya da her kim sunucuyu administrates farklı şeyler yapılandırdı.

AFAICT pool_recycleMySQL onları öldürmeden önce aslında bağlantıları canlı tutmaz, kendi kendine bunları sona eriyor. Ben direklere aşina değilim, ama aralıklı bir yapmak bağlantıları neden olmadığını SELECT 1;temelde hiçbir sunucu yük maliyet ve az ağ trafiği de onları canlı tutacak bir seçenektir. Son bir düşünce: Bir şekilde dikmesi da doldu düşünüyor olduğunuz bir bağlantıyı kullanmak için yönetiyorsanız?

Cevap 18/08/2008 saat 20:35
kaynak kullanıcı

oy
6

Ben bunu sabit düşünüyorum. Ben basit bir yapılandırma hatası vardı çıkıyor ediyor. Benim ini dosyası okuyun:

sqlalchemy.default.url = [connection string here]
sqlalchemy.pool_recycle = 1800

Sorun benim olmasıdır environment.py: Dosya motoru yalnızca ön ekiyle tuşları harita edeceğini beyan sqlalchemy.defaultböylece pool_recyclegöz ardı edildi.

Çözelti basitçe için ini ikinci çizgiyi değiştirmektir:

sqlalchemy.default.pool_recycle = 1800
Cevap 05/09/2008 saat 17:07
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more