Ich habe ein Shell-Skript, um einige Abfragen in MySQL-Datenbank auszuführen und die Ergebnisse zu verarbeiten und E-Mails entsprechend zu senden. Das Skript wird alle 15 Minuten 24x7 ausgeführt. Innerhalb des Shell-Skript anschließe ich einfach an die DB mit dem Befehl ‚mysql -uusername Ppassword Datenbank -s N -eZu viele Datenbankverbindungen mysql
Alles, was ich‚Einige Abfrage hier geht‘wissen wollen, ist, dass dies tut script muss etwas mit dem db verbindungsleck machen, da ich dieses skript für immer ausführe. Wenn ich die folgende Abfrage ausführen, kann ich sehen, dass jedes Mal, wenn der Connections-Wert um eins alle 15 Minuten erhöht wird. Status wie '% Con%' anzeigen;
+----------------------------------------+-------+
| Variable_name | Value |
+----------------------------------------+-------+
| Aborted_connects | 4 |
| Com_show_contributors | 0 |
| Connections | 804 |
| Max_used_connections | 152 |
| Performance_schema_cond_classes_lost | 0 |
| Performance_schema_cond_instances_lost | 0 |
| Ssl_client_connects | 0 |
| Ssl_connect_renegotiates | 0 |
| Ssl_finished_connects | 0 |
| Threads_connected | 14 |
+----------------------------------------+-------+
Stürzt es zu einem bestimmten Zeitpunkt ab ?. Weil der Wert nie herunterkommt. Ich weiß, dass der Wert die Gesamtzahl der Verbindungen angibt, die für die Datenbank vorhanden sind. Max_used_connections bleibt jedoch gleich. Oder gibt es eine Möglichkeit, die DB-Verbindung von Shell-Skript zu schließen?
Sie müssen die einzelnen Verbindungen ordnungsgemäß schließen – JYoThI
Sie können die Verwendung von MySQL-Ereignissen in Betracht ziehen, um zu verhindern, dass Verbindungen aufgebaut werden. Lesen Sie dies. https://dev.mysql.com/doc/refman/5.7/en/event-scheduler.html –