MySQL show status - conexões ativas ou totais?


206

Quando executo show status like 'Con%', mostra o número de conexões, que é 9972 e está em constante crescimento. Esse é um número ativo de conexões ou conexões feitas no total?

Respostas:


402

De acordo com os documentos , significa o número total ao longo da história:

Connections

O número de tentativas de conexão (bem-sucedidas ou não) ao servidor MySQL.

Você pode ver o número de conexões ativas através da Threads_connectedvariável status:

Threads_connected

O número de conexões abertas no momento.

mysql> show status where `variable_name` = 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 4     |
+-------------------+-------+
1 row in set (0.00 sec)

... ou através do show processlistcomando:

mysql> show processlist;
+----+------+-----------------+--------+---------+------+-------+------------------+
| Id | User | Host            | db     | Command | Time | State | Info             |
+----+------+-----------------+--------+---------+------+-------+------------------+
|  3 | root | localhost       | webapp | Query   |    0 | NULL  | show processlist | 
|  5 | root | localhost:61704 | webapp | Sleep   |  208 |       | NULL             | 
|  6 | root | localhost:61705 | webapp | Sleep   |  208 |       | NULL             | 
|  7 | root | localhost:61706 | webapp | Sleep   |  208 |       | NULL             | 
+----+------+-----------------+--------+---------+------+-------+------------------+
4 rows in set (0.00 sec)

Uma conexão representa um usuário? Portanto, se houver 200 usuários em uma página que faz consultas ao banco de dados, haverá 200 conexões?
Diego Queiroz

Sim, alguém pode esclarecer isso. Eu também tenho a mesma pergunta. Além disso, essas variáveis ​​são redefinidas após cada reinício do MySQL Services ou após a reinicialização do servidor?
LonelyRogue 24/01

@ Diego Queiroz Não é assim tão simples. Se o desenvolvedor prestou muita atenção e se houver apenas um banco de dados que precisa ser conectado por usuário, sim, cada um deles será um usuário. Mas é possível que haja outros utilitários em execução ou serviços de backup que também precisem se conectar.
Ryan Shillington

@LonelyRogue Sim, depois que o servidor reiniciar, todas as conexões precisarão se reconectar. Muitos programas / bibliotecas se conectam automaticamente para que o número de conexões seja preenchido rapidamente sem fazer nada explicitamente. Mas o MySQL não mantém nenhuma conexão antiga após uma reinicialização.
Ryan Shillington

134
SHOW STATUS WHERE `variable_name` = 'Threads_connected';

Isso mostrará todas as conexões abertas.


17

Este é o número total de conexões com o servidor até agora. Para encontrar o status atual da conexão, você pode usar

mysqladmin -u -p extended-status | grep -wi 'threads_conectados \ | threads_running' | awk '{print $ 2, $ 4}'

Isto irá mostrar-lhe:

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql

13

Para ver uma lista mais completa, você pode executar:

show session status;

ou

show global status;

Consulte este link para entender melhor o uso.

Se você quiser saber detalhes sobre o banco de dados, execute:

status;

12

Você também pode fazer

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';

1
max_used_connectionstambém é útil
coolnodje

3

Para verificar o máximo de conexões permitidas, você pode executar a seguinte consulta:

SHOW VARIABLES LIKE "max_connections";

Para verificar o número de conexões ativas, você pode executar a seguinte consulta:

SHOW VARIABLES LIKE "max_used_connections";

Espero que ajude.



-1

Deve ser o número atual de conexões ativas. Execute o comando processlistpara ter certeza.

URL para referência: http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

EDIT: Número de conexões de banco de dados abertas Por favor, dê uma olhada aqui, o número real de threads (conexões) está descrito aqui!


2
Eu achei os links de referência úteis. Por exemplo, show status like '%onn%';é uma consulta muito útil.
viddik13

1
Esta resposta está errada e deve ser excluída. Veja as outras respostas.
Dr_

De dev.mysql.com/doc/refman/8.0/en/… : "O número de tentativas de conexão (bem-sucedidas ou não) ao servidor MySQL". NÃO é o número de conexões ativas.
PYB
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.