una por lista ingresar entrar desde datos crear consola como comandos mysql processlist

por - MOSTRAR LA LISTA DE PROCESOS en el comando MySQL: dormir



ingresar a mysql por consola linux (4)

Cuando ejecuto SHOW PROCESSLIST en la base de datos MySQL, obtengo esta salida:

mysql> show full processlist; +--------+------+-----------+--------+---------+-------+-------+-----------------------+ | Id | User | Host | db | Command | Time | State | Info | +--------+------+-----------+-------+---------+-------+-------+-----------------------+ | 411665 | root | localhost | somedb | Sleep | 11388 | | NULL | | 412109 | root | localhost | somedb | Query | 0 | NULL | show full processlist | +--------+------+-----------+-------+---------+-------+-------+------------------------+

Me gustaría saber el proceso "Sleep" que está bajo el comando. Qué significa eso? ¿Por qué se está ejecutando desde hace mucho tiempo y mostrando NULL? Hace que la base de datos sea lenta y, cuando finalizo el proceso, funciona normalmente. Por favor, ayúdame.


Dormir lo que significa que el hilo es no hacer nada. El tiempo es demasiado grande porque la consulta del subproceso no está desconectada, pero no desconecte el servidor, el valor predeterminado wait_timeout = 28800, por lo que puede establecer valores más pequeños, por ejemplo, 10. también puede anular el subproceso.


Encontré esta respuesta aquí: https://dba.stackexchange.com/questions/1558 . En resumen, usar lo siguiente (o dentro de my.cnf) eliminará el problema del tiempo de espera.

SET GLOBAL interactive_timeout = 180; SET GLOBAL wait_timeout = 180;

Esto permite que las conexiones finalicen si permanecen en estado de suspensión durante 3 minutos (o lo que usted defina).


Las conexiones de estado "inactivo" generalmente se crean mediante un código que mantiene conexiones persistentes a la base de datos.

Esto podría incluir grupos de conexiones creados por marcos de aplicaciones o herramientas de administración de bases de datos del lado del cliente.

Como se mencionó anteriormente en los comentarios, realmente no hay razón para preocuparse por estas conexiones ... a menos que, por supuesto, no tenga idea de dónde proviene la conexión.

(CAVEAT: Si tiene una larga lista de este tipo de conexiones, puede haber peligro de quedarse sin conexiones simultáneas).


No es una consulta en espera de conexión; es un puntero de conexión que espera a que finalice el tiempo de espera.

No tiene un impacto en el rendimiento. Lo único que usa es unos pocos bytes como lo hace cada conexión.

El peor de los casos: usa una conexión de tu grupo; Si se conectara varias veces a través del cliente de la consola y simplemente cerrara el cliente sin cerrar la conexión, podría usar todas sus conexiones y tener que esperar a que se agote el tiempo de espera ... pero esto es muy poco probable :-)

¿Ver la lista de procesos de MySql con las entradas "En espera" que llevan a "Demasiadas conexiones"? y https://dba.stackexchange.com/questions/1558/how-long-is-too-long-for-mysql-connections-to-sleep para obtener más información.