ver las inactivas eliminar dormidas cómo conexiones conexion como cerrar mysql connections

inactivas - Cómo matar a las conexiones de MySQL



cómo eliminar las conexiones inactivas de mysql (4)

Como se mencionó anteriormente, no hay un comando especial para hacerlo. Sin embargo, si todas esas conexiones están inactivas, use ''flush tables''; Es capaz de liberar todas aquellas conexiones que no estén activas.

Estoy construyendo un sitio web con MySQL. Estoy usando TOAD for MySQL y de repente no puedo conectarme a la base de datos porque recibo un error:

"Demasiadas conexiones"

¿Hay alguna forma en Toad para MySQL para ver las conexiones existentes para poder eliminarlas o simplemente cerrar todas las conexiones todas juntas?


No, no hay un comando MySQL incorporado para eso. Existen varias herramientas y scripts que lo admiten, puede eliminar algunas conexiones manualmente o reiniciar el servidor (pero eso será más lento).

Use SHOW PROCESSLIST para ver todas las conexiones y KILL las ID de proceso que desea eliminar.

Puede editar la configuración de tiempo de espera para que el daemon de MySQL elimine los procesos inactivos o aumente el recuento de conexiones. Incluso puede limitar la cantidad de conexiones por nombre de usuario , de modo que si el proceso sigue comportándose mal, el único proceso afectado es el proceso en sí y no se bloquea ningún otro cliente en su base de datos.

Si ya no puede conectarse al servidor, debe saber que MySQL siempre reserva 1 conexión adicional para un usuario con el privilegio SUPER . A menos que su proceso ofensivo sea por algún motivo, usar un nombre de usuario con ese privilegio ...

Luego, una vez que pueda acceder a su base de datos nuevamente, debe arreglar el proceso (sitio web) que está generando tantas conexiones.


Recomendaría verificar las conexiones para mostrar que la conexión máxima del hilo es

show variables like "max_connections";

muestra

+-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 13 | +-----------------+-------+ 1 row in set

Luego aumentalo por ejemplo

set global max_connections = 500;


mysql> SHOW PROCESSLIST; +-----+------+-----------------+------+---------+------+-------+---------------+ | Id | User | Host | db | Command | Time | State | Info | +-----+------+-----------------+------+---------+------+-------+----------------+ | 143 | root | localhost:61179 | cds | Query | 0 | init | SHOW PROCESSLIST | | 192 | root | localhost:53793 | cds | Sleep | 4 | | NULL | +-----+------+-----------------+------+---------+------+-------+----------------+ 2 rows in set (0.00 sec) mysql> KILL 192; Query OK, 0 rows affected (0.00 sec)

USUARIO 192:

mysql> SELECT * FROM exept; +----+ | id | +----+ | 1 | +----+ 1 row in set (0.00 sec) mysql> SELECT * FROM exept; ERROR 2013 (HY000): Lost connection to MySQL server during query