Если вы используете InnoDB, который поддерживается журналом транзакций для целей восстановления и отката, то вам многое удастся, особенно в непроизводственной среде.
Самый простой способ завершить запрос отступника - использовать оболочку MySQL в качестве пользователя root:
SHOW PROCESSLIST;
Это даст вам список текущих соединений и идентификатор процесса для каждого из них. Чтобы завершить любой запрос, например номер 19, используйте:
KILL 19;
Обычно это отменяет и откатывает запрос. В некоторых случаях этого недостаточно, и вам может потребоваться принудительно завершить процесс сервера MySQL с помощью kill -9
. В большинстве случаев вы сможете сразу перезагрузить сервер, и БД будет в последнем полностью зафиксированном состоянии.