Felmeddelandet ”MySQL server has gone away” kan ha ganska många olika orsaker, men gemensamt för samtliga är att anslutningen till MySQL-servern stängts oväntat på ett eller annat vis. Här listar vi de vanligaste orsakerna till att detta sker och vad man kan göra åt det.
För stort paket skickat till servern
En MySQL-server har en gräns på hur stora paket man kan skicka till den. Det exakta värdet kan ändras av administratören för databasservern. Hos oss ligger detta på 10MB.
För det mesta så påverkas man inte av denna gräns, men för de som sparar filer i databasen så kan den ställa till med en del fel. Man bör dock inte spara vanliga filer i databasen. Dessa bör istället sparas som de är tillsammans med era webbfiler. Behöver man någon information om de i databasen så kan man spara sökvägen till filen i databasen.
Detta kan även ske om man gör stora INSERT eller REPLACE frågor, man bör då testa att göra dessa i mindre stycken istället för samtliga på en gång.
Servern gav timeout
En väldigt vanlig anledning är att servern nått upp till den timeout-gräns den har innan den stänger anslutningen till klienten. T.ex. kan detta ske för system där man skickar ut nyhetsbrev eller liknande. Dessa skript kör oftast ganska länge vilket kan göra att de under tiden de körs hinner tappa databas-anslutningen.
Även denna timeout är en inställning i MySQL-servern som kan ändras av administratören. Hos oss är den satt till 60 sekunder, så efter 60 sekunders inaktivitet kommer servern att stänga anslutningen.
Några mindre vanliga anledningar
Det finns några saker till som kan ge det här felmeddelandet. De är dock inte speciellt vanliga, men förekommer.
Man kan få felmeddelandet om administratören för en databasserver avbrutit en fråga med KILL-kommandot. Detta sker ytterst sällan och om vi någon gång gör en sådan åtgärd så kommer vi att kontakta den berörda kunden om vad som skett och hur det bör åtgärdas.
Ställer man frågor till databasen efter att man stängt anslutningen så kommer detta självklart inte att fungera och det kan resultera i ett felmeddelande likt ”MySQL server has gone away”.
Felet kan även dyka upp vid störningar med det underliggande nätverket, något som dock är osannolikt att det skulle ske hos oss. Detta då vi dels har en väl tilltagen kapacitet och dels har konstant övervakning av hela vårt nätverk.
Tredjeparts-applikationer
Om du ej själv skrivit den kod som körs eller om du inte har anlitat en programmerare eller webbyrå så är det oftast lite svårare att felsöka. Det du då kan göra är att först och främst kontrollera ifall det finns några uppdateringar till den applikation du kör. (T.ex. WordPress, Joomla, Zencart osv.)
Om du redan har senaste tillgängliga versionen så kan du kontrollera om det finns något i dokumentationen för applikationen om detta, alternativt söka på Google om felet och den applikationen.
Sista utvägen
Lyckas du fortfarande inte lösa detta så kan du självklart kontakta vår Support så tittar vi på vad det kan vara som orsakar detta. Notera dock att vi inte har någon script-support och sådana ärenden hanteras i mån av tid.