Maison >base de données >tutoriel mysql >Comment éviter les délais d'attente de connexion MySQL en Python ?

Comment éviter les délais d'attente de connexion MySQL en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-08 12:20:16746parcourir

How to Avoid MySQL Connection Timeouts in Python?

Comment configurer le délai d'expiration de la connexion MySQL pour Python

Un défi courant rencontré lors de la connexion aux bases de données MySQL via Python est le délai d'expiration de connexion par défaut. Cela peut entraîner des erreurs, en particulier pour les opérations de longue durée. Dans cet article, nous explorerons comment modifier les paramètres de délai d'expiration par défaut et atténuer ces problèmes.

Détermination des paramètres de délai d'expiration par défaut

Les paramètres de délai d'expiration par défaut pour MySQL peuvent varier en fonction de la configuration du serveur. Pour vérifier les valeurs actuelles, connectez-vous à la base de données à l'aide du client de ligne de commande MySQL (par exemple, mysql). Exécutez la commande suivante :

SHOW VARIABLES LIKE '%timeout%';

Cela affichera les paramètres de délai d'attente, y compris :

  • connect_timeout
  • delayed_insert_timeout
  • innodb_lock_wait_timeout
  • innodb_rollback_on_timeout
  • interacti ve_timeout
  • lock_wait_timeout
  • net_read_timeout
  • net_write_timeout
  • slave_net_timeout
  • wait_timeout

Changement le délai d'expiration par défaut

Pour modifier les paramètres de délai d'attente, connectez-vous à la base de données à l'aide du client Python (_mysql). Exécutez les requêtes suivantes :

con.query('SET GLOBAL connect_timeout=28800')
con.query('SET GLOBAL interactive_timeout=28800')
con.query('SET GLOBAL wait_timeout=28800')

Ces paramètres contrôlent :

  • connect_timeout : délai autorisé pour établir une connexion (8 heures ici)
  • interactive_timeout : inactivité maximale période d'inactivité pour les connexions interactives (8 heures)
  • wait_timeout : Période d'inactivité maximale pour toutes les connexions (8 heures)

Recommandation

Pour un temps d'exécution de 10 heures, il est conseillé de définir des valeurs de délai d'attente plus élevées (par exemple, 32 400 secondes ou 9 heures). Cela évite les interruptions de connexion dues à des délais d'attente dépassés et garantit un fonctionnement ininterrompu de votre programme Python.

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!

Déclaration:
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