Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
Een MySQL-fout oplossen (de server is niet meer bereikbaar)
Deze handleiding helpt u bij het oplossen van een fout van het type "Ongeldige query: MySQL-server is niet bereikbaar".
Inleiding
- Deze fout treedt vaak op wanneer een MySQL-verbinding open blijft staan zonder dat er binnen een bepaalde periode query's worden verzonden, waarna de verbinding wordt gesloten: http://dev.mysql.com/doc/refman/5.7/en/gone-away.html
- De variabelen
wait_timeouteninteractive_timeout, die deze verbreking regelen, zijn ingesteld op 30 seconden: http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
Oplossingen
Om de fout "MySQL-server is niet bereikbaar" te voorkomen, zijn er verschillende mogelijke oplossingen:
Controleren en automatisch opnieuw verbinden
Voordat een query wordt uitgevoerd, wordt aanbevolen om te controleren of de MySQL-verbinding nog actief is. Als de verbinding is gesloten, kunt u deze automatisch herstellen voordat u doorgaat met uw query. Hier is een voorbeeld in PHP:
if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}De functie mysqli_ping() controleert of de verbinding nog geldig is. Zo niet, dan sluit het script de verbinding en opent een nieuwe.
Regelmatig een "ping" verzenden
Een andere mogelijkheid is om een script uit te voeren dat regelmatig een "ping" naar de database stuurt om de verbinding actief te houden. U kunt bijvoorbeeld een geplande taak (cronjob) maken die met regelmatige tussenpozen een eenvoudige query, zoals SELECT 1;, verzendt.
Aanpassen van de MySQL-parameters (cloudserver)
Met een cloudserver kunt u de waarden van de variabelen wait_timeout en interactive_timeout verhogen via het MySQL-menu van uw server, om de duur van de verbinding te verlengen voordat deze wordt verbroken.
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/499
Is deze veelgestelde vragenlijst nuttig geweest?