MySQL Server a disparu - Problème de délai d'attente inattendu
Lors de l'exécution d'une requête de longue durée (120 secondes de veille), les utilisateurs ont rencontré un problème où le processus échoue avec le message d'erreur "Le serveur MySQL a disparu." Cela se produit après exactement 60 secondes. Le problème persiste sur la communauté Windows Server 2003 et MySQL 5.1.36.
Étapes de dépannage
L'utilisateur a essayé diverses mesures de dépannage, notamment en ajustant le paramètre wait_timeout à 28 800 secondes et redémarrage du serveur de base de données et de la machine. Malgré ces efforts, l'erreur de délai d'attente persiste.
Cause possible
Le problème semble être lié à un paramètre plutôt qu'à un manque de ressources, car les délais d'attente se produisent systématiquement à la barre des 60 secondes.
Solution
Le problème vient de l'option PHP mysql.connect_timeout. Bien que son objectif principal soit de spécifier le délai d'expiration de la connexion, il détermine également le temps imparti pour la première réponse du serveur. Pour résoudre le problème, l'utilisateur doit augmenter cette valeur de délai d'expiration comme suit :
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
En définissant ces valeurs sur 300 secondes (5 minutes), le système attend les réponses du serveur pendant une durée plus longue avant d'expirer. . Cela permet à la requête de longue durée de se terminer avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!