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.