Me conecto mysql
desde mi shell de Linux. De vez en cuando ejecuto una SELECT
consulta que es demasiado grande. Imprime e imprime y ya sé que esto no es lo que quise decir. Me gustaría detener la consulta.
Golpear Ctrl+C
(un par de veces) mata por mysql
completo y me lleva de vuelta al cascarón, así que tengo que volver a conectarme.
¿Es posible detener una consulta sin suicidarse mysql
?
mysql
kill
processlist
David B
fuente
fuente
Respuestas:
fuente
mysql
está imprimiendo ... No puedo ver el mensajeKILL QUERY
es ligeramente preferibleKILL
para este caso. De esa forma, se elimina la consulta, pero no la conexión.KILL
, pero puede ejecutar:CALL mysql.rds_kill(12345)
Solo para agregar
KILL QUERY **Id**
de dónde es la identificación de la conexiónshow processlist
es más preferible si no desea eliminar la conexión, generalmente cuando se ejecuta desde alguna aplicación.
Para más detalles, puede leer el documento de MySQL aquí
fuente
Conéctate a mysql
muestre la lista de procesos completa:
Mata la consulta específica. Aquí id = 9255451
Si se le niega el permiso, intente este SQL:
fuente
Use
mysqladmin
para eliminar la consulta fuera de control:Ejecute los siguientes comandos:
Luego anote la identificación del proceso.
La consulta fuera de control ya no debería consumir recursos.
fuente
Si tiene
mysqladmin
disponible, puede obtener la lista de consultas con:Entonces puede detener el proceso mysql que aloja la consulta de larga ejecución:
fuente
Debe ejecutar el siguiente comando para eliminar el proceso.
El parámetro de consulta especifica que debemos eliminar el proceso del comando de consulta.
La sintaxis para matar proceso de la siguiente manera
Por favor, consulte este enlace para más información.
fuente
El autor de esta pregunta menciona que generalmente solo después de que MySQL imprime su salida, se da cuenta de que se ejecutó la consulta incorrecta. Como se señaló, en este caso,
Ctrl-C
no ayuda. Sin embargo, he notado que abortará la consulta actual , si la detecta antes de que se imprima cualquier salida. Por ejemplo:MySQL se ocupa de generar el producto cartesiano de las dos tablas anteriores y pronto se da cuenta de que MySQL no ha impreso ningún resultado en la pantalla (el estado del proceso es Enviando datos ), por lo que escribe
Ctrl-C
:Ctrl-C
de manera similar se puede usar para detener unaUPDATE
consulta.fuente