Eu me conecto a mysql
partir do meu shell Linux. De vez em quando eu executo uma SELECT
consulta muito grande. Ele imprime e imprime e eu já sei que não foi isso que eu quis dizer. Eu gostaria de parar a consulta.
Bater Ctrl+C
(algumas vezes) matamysql
completamente e me leva de volta ao shell, então eu tenho que me reconectar.
É possível parar uma consulta sem se matar mysql
?
mysql
kill
processlist
David B
fonte
fonte
Respostas:
fonte
mysql
está a imprimir ... Eu não posso ver o promptKILL QUERY
é um pouco preferívelKILL
para este caso. Dessa forma, a consulta é eliminada, mas não a conexão.KILL
, mas poderá executar:CALL mysql.rds_kill(12345)
Apenas para adicionar
KILL QUERY **Id**
onde Id é o ID de conexãoshow processlist
é mais preferível se você não deseja interromper a conexão normalmente ao executar a partir de algum aplicativo.
Para mais detalhes, você pode ler o documento mysql aqui
fonte
Conecte-se ao mysql
mostre a lista de processos completa:
Mate a consulta específica. Aqui id = 9255451
Se você receber permissão negada, tente este SQL:
fonte
Use
mysqladmin
para matar a consulta descontrolada:Execute os seguintes comandos:
Em seguida, anote a identificação do processo.
A consulta descontrolada não deve mais consumir recursos.
fonte
Se você tiver
mysqladmin
disponível, poderá obter a lista de consultas com:Então você pode parar o processo mysql que hospeda a consulta de execução longa:
fonte
Você precisa executar o seguinte comando para interromper o processo.
O parâmetro Query especifica que precisamos matar o processo do comando query.
A sintaxe para o processo de interrupção da seguinte maneira
Por favor, consulte este link para obter mais informações.
fonte
O autor desta pergunta menciona que geralmente somente após o MySQL imprimir sua saída é que ele percebe que a consulta incorreta foi executada. Como observado, neste caso,
Ctrl-C
não ajuda. No entanto, notei que ela abortará a consulta atual - se você a capturar antes de qualquer saída ser impressa. Por exemplo:O MySQL fica ocupado gerando o Produto Cartesiano das duas tabelas acima e você logo percebe que o MySQL não imprimiu nenhuma saída na tela (o estado do processo é Enviando dados ); assim, você digita
Ctrl-C
:Ctrl-C
Da mesma forma, pode ser usado para interromper umaUPDATE
consulta.fonte