Ze skryptu wysłałem zapytanie takie jak to tysiące razy do mojej lokalnej bazy danych:
update some_table set some_column = some_value
Zapomniałem dodać część gdzie, więc ta sama kolumna została ustawiona na tę samą wartość dla wszystkich wierszy w tabeli i zostało to zrobione tysiące razy, a kolumna została zindeksowana, więc odpowiedni indeks był prawdopodobnie aktualizowany zbyt wiele razy .
Zauważyłem, że coś jest nie tak, ponieważ trwało to zbyt długo, więc zabiłem scenariusz. Od tamtej pory nawet zrestartowałem komputer, ale coś utknęło w tabeli, ponieważ proste zapytania trwają bardzo długo, a kiedy próbuję porzucić odpowiedni indeks, kończy się to z następującym komunikatem:
Lock wait timeout exceeded; try restarting transaction
To tabela innodb, więc zablokowana transakcja jest prawdopodobnie niejawna. Jak mogę naprawić tę tabelę i usunąć z niej zablokowaną transakcję?
SHOW FULL PROCESSLIST
?