Eu tenho um aplicativo Java configurado com um pool de conexão. Assegurei-me de que o aplicativo encerrasse as conexões corretamente.
No entanto, quando executo este comando na linha de comando 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 |
+--------------------------+-------+
Por que o mysql mantém as conexões abertas quando elas são encerradas pelo cliente?
O conteúdo do my.cnf
arquivo é (comentários e seções sem importância omitidos) -
[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
De acordo com a documentação do MySQL, a variável de status Connections mostra "O número de tentativas de conexão (bem-sucedidas ou não) ao servidor MySQL." Isso significa que não representa as conexões abertas atuais, mas todas as tentativas de conexão desde que o servidor foi iniciado.
A variável que mostra o número de conexões abertas atuais, novamente de acordo com a documentação do MySQ , é Threads_connected.