2017-12-20 10 views
0

Ich bin auf 2 Datenbanken über mysql.connect Verbindungs ​​MySQL-Anschluss - Verbindung wurde vom Host geschlossen

oldCnx = mysql.connector.connect(user='root', password='root', host='127.0.0.1', database='testdb', connect_timeout=10000) 

Anschluss an Remote-db-Set in der gleichen Art und Weise (nur mit anderen Anmeldeinformationen). Nach 20 (oder 60) Minuten bekomme ich Fehler: mysql.connector.errors.OperationalError: 2055: Lost connection to MySQL server at '127.0.0.1:3306', system error: 10054. An existing connection was forcibly closed by the remote host.

Was ist zu tun? Muss ich das Timeout irgendwie verlängern oder die Verbindung wiederherstellen, wenn die Verbindung zwangsweise geschlossen wird? Wenn ja, wie würde ich es tun?

+0

Mögliches Duplikat von [python: \ [Errno 10054 \] Eine bestehende Verbindung wurde vom Remote-Host zwangsweise geschlossen] (https://stackoverflow.com/questions/8814802/python-errno-10054-an-existing-connection -was-gewaltsam-geschlossen-durch-die-remote-h) –

Antwort

0

Wenn Sie das Timeout ändern möchten Sie wahrscheinlich die connection_timeout Argument in connect()

Reconnect können auch möglich ist, cnx.reconnect(attempts=1, delay=0) Verwendung in einem Try/außer Block.

+0

Ah, irgendwie habe ich "connection_timeout" als "connect_timeout" falsch geschrieben. Ich werde es versuchen und Funktion wieder verbinden, sehen, ob es hilft. – Ixxxp

+0

Sie hatten recht mit 'connect_timeout' nach der [this] (https://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html) Seite (Abschnitt' Kompatiblität mit anderen Verbindungsschnittstellen')), aber die Verfügbarkeit hängt von der Schnittstelle ab. Wahrscheinlich einige Motorunterschiede :) –

+0

Wrapped Code in try/except/else. Arbeite jetzt. Hat "Verbindung zum MySQL-Server während der Abfrage verloren" gefunden, bedeutet das, dass die Wiederverbindung nicht funktioniert oder was? – Ixxxp

Verwandte Themen