MySQL mostrar estado: ¿conexiones activas o totales?


206

Cuando ejecuto show status like 'Con%', muestra la cantidad de conexiones, que es 9972 y está en constante crecimiento. ¿Es este un número activo de conexiones o conexiones realizadas en total?

Respuestas:


402

Según los documentos , significa el número total a lo largo de la historia:

Connections

El número de intentos de conexión (exitosos o no) al servidor MySQL.

Puede ver el número de conexiones activas a través de la Threads_connectedvariable de estado:

Threads_connected

El número de conexiones abiertas actualmente.

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

... o mediante el 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)

¿Una conexión representa a un usuario? Entonces, si hay 200 usuarios en una página que realiza consultas en la base de datos, ¿habrá 200 conexiones?
Diego Queiroz

Sí, alguien puede aclararlo. Yo también tengo la misma pregunta. Además, ¿se restablecen estas variables después de cada reinicio de MySQL Services o después de reiniciar el servidor?
LonelyRogue

@ Diego Queiroz No es tan simple. Si el desarrollador prestó mucha atención y solo hay 1 base de datos a la que se debe conectar por usuario, entonces sí, cada uno de ellos será un usuario. Pero es posible que haya otras utilidades en ejecución o servicios de respaldo que también necesitarán conectarse.
Ryan Shillington

@LonelyRogue Sí, después de reiniciar el servidor, cada conexión debe volver a conectarse. Muchos programas / bibliotecas se conectarán automáticamente, por lo que el número de conexiones podría llenarse rápidamente sin hacer nada explícitamente. Pero MySQL no mantendrá ninguna conexión anterior después de un reinicio.
Ryan Shillington

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

Esto le mostrará todas las conexiones abiertas.


17

Este es el número total de conexiones al servidor hasta ahora. Para encontrar el estado actual de la conexión, puede usar

mysqladmin -u -p estado-extendido | grep -wi 'threads_connected \ | threads_running' | awk '{print $ 2, $ 4}'

Esto te mostrará:

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql

13

Para ver una lista más completa, puede ejecutar:

show session status;

o

show global status;

Vea este enlace para comprender mejor el uso.

Si desea conocer detalles sobre la base de datos, puede ejecutar:

status;

12

Tambien puedes hacer

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';

1
max_used_connectionstambién es útil
coolnodje

3

Para verificar las conexiones máximas permitidas, puede ejecutar la siguiente consulta:

SHOW VARIABLES LIKE "max_connections";

Para verificar el número de conexiones activas, puede ejecutar la siguiente consulta:

SHOW VARIABLES LIKE "max_used_connections";

Espero eso ayude.



-1

Debe ser el número actual de conexiones activas. Ejecute el comando processlistpara asegurarse.

URL de referencia: http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

EDITAR: Número de conexiones de base de datos abiertas ¡ Mire aquí, aquí se describe el número real de hilos (conexiones)!


2
He encontrado útiles los enlaces de referencia. Por ejemplo, show status like '%onn%';es una consulta muy útil.
viddik13

1
Esta respuesta es incorrecta y debe eliminarse. Ver las otras respuestas.
dr_

De dev.mysql.com/doc/refman/8.0/en/… : "El número de intentos de conexión (exitosos o no) al servidor MySQL". NO es el número de conexiones activas.
PYB
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.