私はmysqlデータベースでいくつかのクエリを実行し、結果を処理してそれに応じてメールを送信するシェルスクリプトを持っています。このスクリプトは15分ごとに24時間毎に実行されます。シェルスクリプトの中に私は単にコマンドを使用してDBに接続してい 「のmysql -uusername -Ppasswordデータベースは-N -e 『一部のクエリはここに行く』データベース接続が多すぎますmysql
私が知りたいすべてがこれを行う、ということです-s私はこのスクリプトを永久に実行しているので、スクリプトはdb接続リークで何かをしなければなりません。 次のクエリを実行すると、接続の値が15分ごとに1ずつ増えることがわかります。 '%Con%'のようなステータスを表示します。
+----------------------------------------+-------+
| 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 |
+----------------------------------------+-------+
ある時点でクラッシュしますか。値が決して下がらないので。私は値がdbに存在する接続の総数を示していることを知っています。しかし、Max_used_connectionsは同じままです。 または、シェルスクリプトからdb接続を閉じる方法はありますか? connections server status variable上のMySQLのドキュメントとして
それぞれの接続を適切に閉じる必要があります – JYoThI
MySQLイベントを使用して接続を回避することを検討してください。これを読む。 https://dev.mysql.com/doc/refman/5.7/en/event-scheduler.html –