1、SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
獲取到blocking_trx_id
2、SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
查找trx_id和上面獲取到的blocking_trx_id一樣的記錄,獲取這條記錄的trx_mysql_thread_id
3、kill 上面獲取到的trx_mysql_thread_id
這樣就把阻塞其他事務的事務線程殺掉了。
PS:上面已知進程ID,可通過SHOW PROCESSLIST; 命令看到具體的阻塞原因(SQL / USER / HOST)
今天遇到了,記錄一下,原文有做詳細介紹:
https://blog.csdn.net/gjb724332682/article/details/53064782