Se stai utilizzando InnoDB, che è supportato da un registro delle transazioni per scopi di ripristino e rollback, puoi cavartela molto, specialmente in un ambiente non di produzione.
Il modo più semplice per terminare una query rinnegata è utilizzare la shell MySQL come utente root:
SHOW PROCESSLIST;
Questo ti darà un elenco delle connessioni correnti e un ID processo per ciascuna. Per terminare una determinata query, come la numero 19, utilizzare:
KILL 19;
Di solito questo annulla e ripristina la query. In alcuni casi questo non è sufficiente e potresti dover uscire forzatamente dal processo del server MySQL con kill -9
. Nella maggior parte dei casi dovresti essere in grado di riavviare immediatamente il server e il DB si troverà nell'ultimo stato di commit completo.