Зі скрипту я надсилав такий запит тисячі разів до моєї локальної бази даних:
update some_table set some_column = some_value
Я забув додати частину де, тому для того самого стовпця було встановлено однакове значення для всіх рядків таблиці, і це було зроблено тисячі разів, а стовпець був індексований, тому відповідний індекс був, ймовірно, оновлений занадто багато разів .
Я помітив, що щось не так, тому що це зайняло занадто багато часу, тому я вбив сценарій. Я навіть перезавантажив комп’ютер з того часу, але щось застрягло в таблиці, тому що прості запити займають дуже багато часу, і коли я намагаюся скинути відповідний індекс, це не вдається з цим повідомленням:
Lock wait timeout exceeded; try restarting transaction
Це таблиця innodb, тому застрягла транзакція, ймовірно, неявна. Як я можу виправити цю таблицю та видалити з неї застряглу транзакцію?
SHOW FULL PROCESSLIST
?