У меня есть запрос блокировки таблиц в MySQL (с использованием InnoDB):запрос блокировки таблицы, не может убить этот процесс
UPDATE table SET status = 2 WHERE status = 3
Этот запрос вызвал затор на столе, и не может обойти его.
Я попытался сделать:
show processlist
затем убить идентификатор процесса, но я не могу, кажется, убить его
Я пробовал:
kill 9588
9588 идентификатор процесса.
Тогда я делаю show processlist
Я все еще вижу тот же запрос в списке.
Как я могу заставить убить этот процесс, и почему этот запрос вызовет мертвую блокировку? как я могу это исправить?
'убить -9' является командой операционной системы, а не команда MySQL. – tadman
'UPDATE' будет заблокирован, если он не сможет получить доступ на запись к любой из строк с' status = 3'. Я бы удостоверился, что все транзакции совершили свои изменения, и у вас нет выкидывания 'select for update' – cmd