Ce qui provoque une erreur de «connexion perdue à MySQL Server pendant la requête»?
Ce type d'erreur se produit lorsque la connexion entre un client et le serveur dépasse la valeur d'expiration spécifiée.
Par exemple, si vous avez une longue requête qui prend beaucoup de temps pour terminer l'exécution, MySQL laisse tomber la connexion au serveur.
Prenez par exemple, lors de l'exportation d'une grande base de données, en fonction de la méthode d'exportation et des données à exporter, il peut prendre beaucoup de temps à ce processus pour terminer. Pour éviter les problèmes sur le serveur, MySQL peut résilier cette connexion avant la fin du processus.
Une autre cause commune de ce type d'erreur est les opérations de jointure complexes.
MySQL Show Timeout Valeur
Comme mentionné, vous pouvez corriger ce type d'erreur en augmentant simplement les durées de délai d'expiration du côté serveur.
Les valeurs de délai de temps sont stockées dans les variables Wait_timeout et Interactive_timeout. Nous pouvons récupérer les valeurs de courant comme indiqué dans les requêtes suivantes:
mysql> montrent des variables globales comme «interactive_timeout»;La sortie résultante est la suivante:
+---------------------+-------+Le résultat donné montre la valeur par défaut de la variable interactive_timeout. Cette valeur définit la durée, en quelques secondes, que le serveur attend une activité lors d'une session active avant de la terminer.
Nous pouvons également récupérer la valeur de la variable Wait_timeout comme:
mysql> montrent des variables globales comme 'wait_timeout';Tableau résultant:
+---------------+-------+Cette variable définit la durée que le serveur MySQL attend une activité dans une session non interactive.
Correction de l'erreur de connexion MySQL Lost en mettant à jour les variables de délai
Pour corriger ce type d'erreur, nous pouvons mettre à jour les valeurs des deux variables discutées précédemment. Nous pouvons exécuter la requête comme indiqué dans ce qui suit:
mysql> set @@ global.interactive_timeout = 43200;La commande précédente doit mettre à jour la valeur de la variable interactive_timeout à 43200 secondes.
Pour mettre à jour le paramètre Wait_timeout, exécutez la commande suivante:
mysql> set @@ global.wait_timeout = 43200;Vous avez terminé. Vous pouvez essayer de réécrire votre requête chronométrée.
Conclusion
Dans cet article, nous avons discuté de la cause d'une erreur de connexion perdue lorsque vous travailliez avec MySQL et les étapes que vous pouvez prendre pour les réparer. Cependant, soyez attentif à vos requêtes ou segmentez-les en blocs efficaces.
Merci d'avoir lu et de codage heureux!