perl dbi wiederverbinden bei trennen

8

Ich habe google suchen, konnte aber keine Antwort auf das finden, was ich für eine einfache Frage halte.

Ich habe einen Perl-Code (Beispiel unten), der alle 3 Sekunden Daten empfängt und die empfangenen Daten in die Mysql-Datenbank aktualisiert, aber manchmal ist die MySQL-Datenbank nicht verfügbar und das Skript stirbt ab. Wie kann ich mysql Verbindung wieder herstellen, wenn sie fehlschlägt?

%Vor%     
Linus 17.11.2011, 05:02
quelle

2 Antworten

7

Sie können sich auch diesen Thread ansehen: Ссылка

Dies behandelt die Art und Weise, wie Sie mit dem Problem "MySQL Server ist weg" fertig werden, aber einige Antworten treffen auch auf Ihr Problem zu. Sie können die Empfehlungen dort neben dem Schalter mysql_auto_reconnect verwenden.

    
Unos 17.11.2011, 07:19
quelle
7

Der DBD :: mysql -Treiber (den DBI verwendet für MySQL-Datenbanken) unterstützt ein Attribut mysql_auto_reconnect . Um es einzuschalten, führe einfach

aus %Vor%

Beachten Sie, dass die Dokumente diese Warnung enthalten:

  

Das Setzen von mysql_auto_reconnect auf on wird nicht empfohlen, wenn 'Tabellen sperren' verwendet wird. Wenn DBD :: mysql sich wieder mit mysql verbindet, gehen alle Tabellensperren verloren. Dieses Attribut wird ignoriert, wenn AutoCommit deaktiviert ist und wenn AutoCommit deaktiviert ist, wird DBD :: mysql die Verbindung zum Server nicht automatisch wiederherstellen.

    
Ted Hopp 17.11.2011 05:17
quelle

Tags und Links