Een veel gevreesde foutenmelding MySQL tijdens vragen is server MySQL is weggegaan. Een alternatief bericht is Verloren verbinding aan server tijdens vraag. Dit is een vreemd probleem dat een grote verscheidenheid die van PHP software treft maar niet omvat die tot WordPress wordt beperkt. Er zijn verscheidene oorzaken voor het. Bekijk de gemeenschappelijke en sommige zeldzame oorzaken en wat u kunt doen het bevestigen.

De gemeenschappelijkste oorzaken zijn:
1. De server uit vastgesteld en gesloten de verbinding. Door gebrek, sluit de server de verbinding na 8 uren of 28800 seconden als niets is gebeurd. U kunt de tijdslimiet veranderen door de wait_timeoutvariabele te plaatsen wanneer u mysqld via /etc/my.cnf begint van uw server (op Linux; bepaal de plaats eveneens van het dossier in installatiefolder op vensters). Dit beïnvloedt meestal blijvende verbindingen; de verbindingen openden het gebruiken mysql_pconnect () in PHP. Het kan samengevoegde verbindingen van ook beïnvloeden zegt om het even welke server het zijverbinding samenvoegen.

2. Een andere gemeenschappelijke reden is om de server te ontvangen MySQL fout is weggegaan omdat u dicht bij de uw verbinding MySQL hebt uitgegeven en dan geprobeerd om een vraag op de gesloten verbinding in werking te stellen. Dit is een eenvoudig logicaprobleem. Deelt u de verbinding over veelvoudige draden?

3. U kreeg een onderbreking van de verbinding TCP/IP aan de cliëntkant. Dit kan gebeuren als u de bevelen hebt gebruikt: mysql_options (, MYSQL_OPT_READ_TIMEOUT,) of mysql_options (, MYSQL_OPT_WRITE_TIMEOUT,). In dit geval kan het verhogen van de onderbreking, zoals hierboven beschreven, helpen het probleem oplossen.

4. U hebt een onderbreking aan de serverkant ontmoet en automatische reconnection in de cliënt is gehandicapt. Gelieve te verwijzen naar het artikel dat hierboven voor details en oplossing wordt verbonden.

5. U kunt deze fouten ook worden als u een vraag naar de server verzendt die onjuist of te groot is. Als mysqld een pakket ontvangt dat of uit orde te groot is, veronderstelt het dat iets verkeerd met de cliënt is gegaan en de verbinding gesloten. Als u grote vragen (bijvoorbeeld, als u met de grote kolommen van de VLEK) werkt nodig hebt, kunt u de vraaggrens verhogen door de variabele van de server te plaatsen max_allowed_packet, die een standaardwaarde van 1MB heeft. U kunt ook de maximumpakketgrootte op het cliënteind moeten verhogen. Meer informatie bij het plaatsen van de pakketgrootte wordt gegeven in Sectie B.1.2.9, te groot Pakket.

6. Een TUSSENVOEGSEL of VERVANGT verklaring die groot vele rijen kan deze soorten fouten ook veroorzaken opneemt. Één van beide één van deze verklaringen verzendt één enkel verzoek naar de server ongeacht het aantal op te nemen rijen; aldus, kunt u VERVANGEN de fout vaak vermijden door het aantal rijen te verminderen die per TUSSENVOEGSEL worden verzonden of.

7. U wordt ook een verloren verbinding als u een pakket 16MB of groter verzendt als uw cliënt ouder is dan 4.0.8 en uw server de 4.0.8 en hierboven, of andere manier rond is.

Weinig zeldzame oorzaken zijn:
1. Zelden kan de db beheerder de lopende draad met een verklaring van het DODEN of een bevel van het mysqladmindoden gedood hebben.

2. Een cliënttoepassing die op een verschillende gastheer loopt heeft niet de noodzakelijke voorrechten om met de server MySQL van die gastheer te verbinden.

3. U gebruikt een cliënt van Vensters en de server had de verbinding (waarschijnlijk omdat wait_timeout verlopen) vóór het bevel werd uitgegeven gelaten vallen. Het probleem aangaande Vensters is dat MySQL in sommige gevallen geen fout van OS wanneer het schrijven aan de verbinding TCP/IP aan de server wordt, maar in plaats daarvan wordt de fout wanneer het proberen om het antwoord van de verbinding te lezen.

4. Voorafgaand aan MySQL 5.0.19, zelfs als opnieuw aansluit is de vlag in de structuur MYSQL gelijk aan 1, sluit MySQL en geeft automatisch niet de vraag opnieuw aan heruit aangezien het weet niet of of niet werd de server de originele vraag.

5. Het is ook mogelijk om deze fout te zien als hostname de raadplegingen ontbreken (bijvoorbeeld, als de DNS server waarop uw server of netwerk zich baseren daalt). Dit is omdat MySQL afhankelijk van het gastheersysteem voor naamresolutie is, maar geen manier heeft om te weten of het werkt - van het standpunt van MySQL is het probleem niet te onderscheiden van een andere netwerkonderbreking.

6. U kunt ook zien de server MySQL fout als MySQL is begonnen met - skip-voorzien van een netwerk optie is weggegaan.

7. U kunt deze fout met toepassingen ook ontmoeten die zich kindprocessen vertakken, die proberen om de zelfde verbinding aan de server te gebruiken MySQL. Dit kan worden vermeden door een afzonderlijke verbinding voor elk kindproces te gebruiken.

8. Een andere voorzien van een netwerkkwestie die deze fout kan veroorzaken komt voor als de haven MySQL (gebrek 3306) door uw firewall wordt geblokkeerd, waarbij om het even welke verbindingen bij allen aan de server MySQL worden verhinderd.

9. U hebt een insect ontmoet waar de server terwijl het uitvoeren van de vraag stierf. Bron

Het vergt tijd en inspanning om deze problemen te identificeren en op te lossen. Het spreken vanuit ervaring het is vaak niet wat het in de eerste plaats kijkt. Veronderstel om het even wat, vol overgave regel niet uit alle mogelijkheden tot u het oplost.