MySQL: Ошибка Lock wait timeout exceeded; try restarting transaction
Столкнулся с ошибкой при выполненеии DELETE запроса в MySQL: Lock wait timeout exceeded; try restarting transaction ..
Ошибка возникает когда какая-то транзакция заблокировала выполнение запроса. Чтобы найти список таких транзакций нужно выполнить такой запрос
1 2 3 |
SELECT * FROM `information_schema`.`innodb_trx` ORDER BY `trx_started` |
В результате мы получим список транзакций, время запуска и их состояние
1 2 3 4 |
trx_id | trx_state | trx_started | trx_requested_lock_id | trx_mysql_thread_id 335866197 | ROLLING BACK | 2020-09-21 14:56:09 | NULL | 997 |
если мы понимаем, что именно это проблемная транзакция, ищем ее trx_mysql_thread_id проверяем связанный SQL запрос по id
1 2 3 |
SHOW FULL PROCESSLIST; |
и завершаем процесс вот так
1 2 3 |
KILL 997 |
Author: | Tags: /
| Rating:
Leave a Reply