2017-03-24 5 views
1

Ich habe ein Shell-Skript, wie eine Abfrage in einer großen Schleife ausführen, aber manchmal reagiert das Skript nicht. Ich möchte ein Timeout zu Mysql-Abfrage hinzufügen, um diesen Fehler zu verhindern.Wie Zeitüberschreitung bei MySql-Abfrage festlegen?

$sql=`mysql --protocol=tcp --user=**** --password=\'****\' --host="vl*****1" --database="C***K" -e "UPDATE C****k SET current_status =\'$status\',last_state_change=\'$lastchange\' WHERE MC_internal_name=\'$InternalName\';" 

Tkanks!

+0

Fehler finden! Wenn Sie Ihr Skript über cron starten, können Sie EVENTS besser direkt in MySQL verwenden. Das Skript startet also nur, wenn der Server läuft und läuft. Sie können Ihrem SQL auch ein LIMIT hinzufügen, um zu verhindern, dass es lange läuft. Überprüfen Sie auch über EXPLAIN, ob die Abfrage Indexe verwendet –

Antwort

1

Verwenden Option:

--connect-timeout=# 

ersetzen Strich mit der Anzahl der Sekunden vor der Verbindungszeit.

Verwandte Themen