Maison > Article > base de données > Comment puis-je implémenter la reconnexion automatique dans MySQLdb pour les connexions persistantes ?
Activation de la reconnexion automatique du client MySQL avec MySQLdb
Dans MySQLdb, les connexions persistantes ne sont pas activées par défaut. Cela signifie que si la connexion à la base de données MySQL est perdue, le client devra rétablir la connexion manuellement.
La méthode PHP
En PHP, MySQLdb fournit la fonction mysql_options() pour activer la reconnexion automatique. En définissant l'option MYSQL_OPT_RECONNECT sur true, le client tentera de rétablir automatiquement la connexion en cas de perte de connexion.
La méthode MySQLdb
En Python, MySQLdb fait pas d'équivalent direct de mysql_options(). Cependant, il est possible d'implémenter une reconnexion automatique à l'aide d'une fonction personnalisée qui encapsule la méthode curseur.execute(). La question d'origine suggère que la méthode conn.cursor() lève une exception lorsque la connexion est perdue.
Solution
La solution fournie résout ce problème en créant un wrapper fonction appelée query(). Cette fonction tente d'exécuter la requête SQL à l'aide de la méthode curseur.execute(). Si une erreur se produit en raison d'une perte de connexion, la fonction query() rétablit la connexion et réessaye l'exécution.
Implémentation
Le code Python fourni montre comment implémenter la fonction query() et utilisez-la pour établir et maintenir une connexion persistante à la base de données MySQL. Même après un long délai d'attente, la connexion est toujours active et permet d'exécuter d'autres requêtes.
Conclusion
En tirant parti de la fonction wrapper query(), il devient possible pour activer la reconnexion automatique dans MySQLdb, garantissant que le client peut automatiquement récupérer des connexions perdues.
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!