Javaアプリケーションが接続プールで構成されています。アプリケーションが接続を適切に終了することを確認しました。
しかし、mysqlコマンドラインでこのコマンドを実行すると-
show status like '%onn%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| Aborted_connects | 2 |
| Connections | 72 |
| Max_used_connections | 10 |
| Ssl_client_connects | 0 |
| Ssl_connect_renegotiates | 0 |
| Ssl_finished_connects | 0 |
| Threads_connected | 2 |
+--------------------------+-------+
接続がクライアントから終了された場合、mysqlは接続を開いたままにしているのはなぜですか?
my.cnf
ファイルの内容は次のとおりです(コメントと重要でないセクションは省略されています)-
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
lower_case_table_names = 1
skip-external-locking
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
MySQLドキュメント によると、接続ステータス変数は「MySQLサーバーへの接続試行(成功または失敗)の数」を示しています。つまり、現在開いている接続ではなく、サーバーが起動してからのすべての接続試行を表します。
MySQ docs によると、現在開いている接続の数を示す変数はThreads_connectedです。