Master feil - 'MySQL server har gått bort'

stemmer
13

[Jeg håper dette ikke er for obskure ... Jeg skal spørre nyhetsgruppen hvis ingen vet her]

Jeg bruker Kjegler (en python rammeverk) for å tjene en enkel web-applikasjon, men det ser ut til å dø fra tid til annen, med dette i feilloggen: (2006, 'MySQL server has gone away')

Jeg gjorde litt av kontroll, og så at dette var fordi forbindelsene til MySQL ikke ble fornyet. Dette bør ikke være et problem, fordi det sqlalchemy.pool_recyclei config-filen skal automatisk holde den i live. Standard var 3600, men jeg ringte tilbake til 1800på grunn av dette problemet. Det hjalp litt, men 3600 skal være i orden i henhold til docs. Feilene fortsatt skje semi-jevnlig. Jeg ønsker ikke å senke den for mye om og DOS min egen database :).

Kanskje noe i min MySQL config er klønete? Ikke sikker på hvor du skal lete nøyaktig.

Andre relevante opplysninger:

  Python 2.5
  Pylons: 0.9.6.2 (w/ sql_alchemy)
  MySQL: 5.0.51
Publisert på 11/08/2008 klokken 19:59
kilden bruker
På andre språk...                            


2 svar

stemmer
6

Jeg tror jeg fikset det. Det viser seg at jeg hadde en enkel config feil. Min ini fil lese:

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

Problemet er at min environment.pyfil erklærte at motoren bare ville kartlegge nøkler med prefikset: sqlalchemy.defaultpool_recycleble ignorert.

Løsningen er å bare endre andre linje i ini til:

sqlalchemy.default.pool_recycle = 1800
Svarte 05/09/2008 kl. 18:07
kilden bruker

stemmer
2

Du vil kanskje sjekke MySQL timeout variabler:

show variables like '%timeout%';

Du er sannsynligvis interessert i wait_timeout(mindre sannsynlig, men mulig: interactive_timeout). På Debian og Ubuntu, standardverdiene er 28800 (MySQL dreper forbindelser etter 8 timer), men kanskje standard for din plattform er annerledes eller hvem administrerer serveren har konfigurert ting annerledes.

AFAICT, pool_recyclefaktisk ikke holde tilkoblinger live, opphører det dem på egen hånd før MySQL dreper dem. Jeg er ikke kjent med master, men hvis forårsaker forbindelser til periodisk gjøre en SELECT 1;er et alternativ, som vil holde dem i live på bekostning av utgangspunktet ingen belastningen på serveren og minimal nettverkstrafikk. En siste tanke: er du liksom klarer å bruke en tilkobling som master synes det er utløpt?

Svarte 18/08/2008 kl. 21:35
kilden bruker

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