Je me connecte à mysql
partir de mon shell Linux. De temps en temps, j'exécute une SELECT
requête trop volumineuse. Il imprime et imprime et je sais déjà que ce n'est pas ce que je voulais dire. Je voudrais arrêter la requête.
Frapper Ctrl+C
(quelques fois) tue mysql
complètement et me ramène au shell, donc je dois me reconnecter.
Est-il possible d'arrêter une requête sans se tuer mysql
?
mysql
kill
processlist
David B
la source
la source
Réponses:
la source
mysql
imprime ... Je ne vois pas l'inviteKILL QUERY
est légèrement préférable àKILL
ce cas. De cette façon, la requête est supprimée, mais pas la connexion.KILL
, mais vous pouvez exécuter:CALL mysql.rds_kill(12345)
Juste pour ajouter
KILL QUERY **Id**
où Id est l'ID de connexionshow processlist
est plus préférable si vous ne voulez généralement pas couper la connexion lors de l'exécution à partir d'une application.
Pour plus de détails, vous pouvez lire la doc mysql ici
la source
Connectez-vous à mysql
afficher la liste complète des processus:
Tuez la requête spécifique. Ici id = 9255451
Si vous obtenez une autorisation refusée, essayez ce SQL:
la source
Utilisez
mysqladmin
pour tuer la requête d'emballement:Exécutez les commandes suivantes:
Notez ensuite l'ID du processus.
La requête galopante ne devrait plus consommer de ressources.
la source
Si vous en avez
mysqladmin
, vous pouvez obtenir la liste des requêtes avec:Ensuite, vous pouvez arrêter le processus mysql qui héberge la requête longue:
la source
Vous devez exécuter la commande suivante pour tuer le processus.
Le paramètre de requête spécifie que nous devons tuer le processus de commande de requête.
La syntaxe du processus d'élimination comme suit
Veuillez consulter ce lien pour plus d'informations.
la source
L'auteur de cette question mentionne que ce n'est généralement qu'après que MySQL a imprimé sa sortie qu'il se rend compte que la mauvaise requête a été exécutée. Comme indiqué, dans ce cas,
Ctrl-C
n'aide pas. Cependant, j'ai remarqué que cela annulerait la requête en cours - si vous l'attrapez avant qu'une sortie ne soit imprimée. Par exemple:MySQL est occupé à générer le produit cartésien des deux tables ci-dessus et vous remarquez rapidement que MySQL n'a imprimé aucune sortie à l'écran (l'état du processus est l' envoi de données ), vous tapez donc
Ctrl-C
:Ctrl-C
peut également être utilisé pour arrêter uneUPDATE
requête.la source