Heim > Datenbank > MySQL-Tutorial > Wie vermeide ich MySQL-Verbindungs-Timeouts in Python?

Wie vermeide ich MySQL-Verbindungs-Timeouts in Python?

Barbara Streisand
Freigeben: 2024-12-08 12:20:16
Original
781 Leute haben es durchsucht

How to Avoid MySQL Connection Timeouts in Python?

So konfigurieren Sie das MySQL-Verbindungs-Timeout für Python

Eine häufige Herausforderung beim Herstellen einer Verbindung zu MySQL-Datenbanken über Python ist das standardmäßige Verbindungs-Timeout. Dies kann insbesondere bei lang laufenden Vorgängen zu Fehlern führen. In diesem Artikel erfahren Sie, wie Sie die Standard-Timeout-Einstellungen ändern und solche Probleme entschärfen können.

Bestimmen der Standard-Timeout-Einstellungen

Die Standard-Timeout-Einstellungen für MySQL können variieren Abhängig von der Serverkonfiguration. Um die aktuellen Werte zu überprüfen, stellen Sie über den MySQL-Befehlszeilen-Client (z. B. mysql) eine Verbindung zur Datenbank her. Führen Sie den folgenden Befehl aus:

SHOW VARIABLES LIKE '%timeout%';
Nach dem Login kopieren

Dadurch werden die Timeout-Einstellungen angezeigt. einschließlich:

  • connect_timeout
  • delayed_insert_timeout
  • innodb_lock_wait_timeout
  • innodb_rollback_on_timeout
  • interacti ve_timeout
  • lock_wait_timeout
  • net_read_timeout
  • net_writ e_timeout
  • slave_net_timeout
  • wait_timeout

Änderung das Standard-Timeout

Um die Timeout-Einstellungen zu ändern, stellen Sie mit dem Python-Client (_mysql) eine Verbindung zur Datenbank her. Führen Sie die folgenden Abfragen aus:

con.query('SET GLOBAL connect_timeout=28800')
con.query('SET GLOBAL interactive_timeout=28800')
con.query('SET GLOBAL wait_timeout=28800')
Nach dem Login kopieren

Diese Einstellungen steuern:

  • connect_timeout: Erlaubte Zeit für den Verbindungsaufbau (hier 8 Stunden)
  • interactive_timeout: Maximale Inaktivität Zeitraum für interaktive Verbindungen (8 Stunden)
  • wait_timeout: Maximaler Inaktivitätszeitraum für alle Verbindungen (8 Stunden)

Empfehlung

Für eine Ausführungszeit von 10 Stunden empfiehlt es sich, höhere Timeout-Werte einzustellen (z. B. 32400 Sekunden oder 9 Stunden). Dies verhindert Verbindungsunterbrechungen aufgrund von Timeout-Überschreitungen und gewährleistet einen unterbrechungsfreien Betrieb Ihres Python-Programms.

Das obige ist der detaillierte Inhalt vonWie vermeide ich MySQL-Verbindungs-Timeouts in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage