场景
生产环境中一张日志表太大,准备清空,使用脚本:
TRUNCATE table idp4.scim_application_synchronization_record
等了好久没响应,通过show processlist;
查看,出现Waiting for table metadata lock
解决办法
通过以下语句,找到所有正在执行的事务
select * from information_schema.innodb_trx;
![](https://img.haomeiwen.com/i1748661/b454fd1b90cf01ca.png)
发现有一个事务一直在运行,猜测可能是此事务访问了idp4.scim_application_synchronization_record表,所以导致无法删除。
先删除此事务:
kill 1187446
再重新执行TRUNCATE 命令,瞬间完成~
网友评论