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%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.
Der DBD :: mysql -Treiber (den DBI verwendet für MySQL-Datenbanken) unterstützt ein Attribut mysql_auto_reconnect
. Um es einzuschalten, führe einfach
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.