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.