Maison > base de données > tutoriel mysql > Pourquoi le délai de ma connexion MySQL expire-t-il après 60 secondes, même si « wait_timeout » est défini sur une valeur plus élevée ?

Pourquoi le délai de ma connexion MySQL expire-t-il après 60 secondes, même si « wait_timeout » est défini sur une valeur plus élevée ?

Mary-Kate Olsen
Libérer: 2024-11-20 03:05:02
original
336 Les gens l'ont consulté

Why Does My MySQL Connection Timeout After 60 Seconds, Even Though `wait_timeout` Is Set Higher?

Serveur MySQL déconnecté après 60 secondes

Contexte du problème

J'exécute une requête SQL qui fonctionnait auparavant correctement a rencontré une erreur, qui a expiré après 60 secondes et a généré une erreur. Bien que la requête soit lente, elle est exécutée dans le cadre d'une tâche nocturne, ce n'est donc pas un problème en soi (donc s'il vous plaît, ne me suggérez pas de l'optimiser).

Détails du problème

J'ai reproduit l'erreur en exécutant "select SLEEP(120); (voir ci-dessous) depuis PHP. Cependant, en exécutant la même chose depuis le client MySQL, La déclaration réussira (retourner 0). J'ai essayé d'ajuster wait_timeout (défini sur 28800) mais sans succès, j'ai également redémarré le serveur de base de données et la machine elle-même

l'erreur expire toujours après 60 secondes, je pense que c'est très probable. un problème de configuration plutôt qu'un problème de limite de ressources

Informations système

  • Windows Server 2003
  • MySQL 5.1-community
  • .
  • PHP 5.3

Code de test, sortie et SHOW VARIABLES

[Les résultats du code de test, de la sortie et SHOW VARIABLES sont dans Omis ici]

Solution

L'option php mysql.connect_timeout est à l'origine de ce problème. Elle n'est pas seulement utilisée pour le timeout de connexion mais aussi pour attendre la première requête du serveur. . Une réponse. Vous pouvez l'augmenter comme ceci :

ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal