MySQLdb: Aktivieren der automatischen Client-Wiederverbindung
In Python bietet die MySQLdb-Bibliothek eine bequeme Möglichkeit, mit MySQL-Datenbanken zu interagieren. Eine häufige Herausforderung besteht darin, trotz vorübergehender Unterbrechungen eine dauerhafte Verbindung aufrechtzuerhalten.
Um dieses Problem zu beheben, gibt es in PHP eine Lösung mit MySQL-Optionen, aber Benutzer haben Schwierigkeiten, diese mit MySQLdb zu replizieren.
Lösung :
Der Schlüssel zum Aktivieren der automatischen Wiederverbindung in MySQLdb liegt im Umschließen von Cursor.execute() Methode.
Der folgende Python-Code zeigt eine Lösung:
import MySQLdb class DB: conn = None def connect(self): self.conn = MySQLdb.connect() def query(self, sql): try: cursor = self.conn.cursor() cursor.execute(sql) except (AttributeError, MySQLdb.OperationalError): self.connect() cursor = self.conn.cursor() cursor.execute(sql) return cursor # Example usage db = DB() sql = "SELECT * FROM foo" cur = db.query(sql) # Sleep for a long time to simulate connection timeout time.sleep(60 * 60 * 24) cur = db.query(sql) # Connection is still valid and usable
Bei diesem Ansatz verwaltet die Funktion query() die Verbindung im Namen des Benutzers und stellt sicher, dass alle verlorenen Verbindungen wiederhergestellt werden. automatisch eingerichtet.
Das obige ist der detaillierte Inhalt vonWie aktiviere ich die automatische Client-Wiederverbindung in MySQLdb für dauerhafte Verbindungen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!