找出未提交的MySQL线程/事务:
SELECT trx_id,trx_state,trx_started,trx_mysql_thread_id,CURRENT_TIMESTAMP - trx_started AS RUN_TIME from information_schema.innodb_trx;
SELECT * from information_schema.processlist; 这个能看到上面哪个SQL线程ID(下图的378号线程就是造成MDL锁的罪魁祸首)
SELECT * from performance_schema.events_statements_current\G 可找出造成MDL阻塞的SQL还有对应的DATABASE(如果在连接数多的数据库中,可能有点乱不太好找)
然后 kill 掉378 线程即可。
本文出自 “菜鸡” 博客,请务必保留此出处http://lee90.blog.51cto.com/10414478/1934669
原文地址:http://lee90.blog.51cto.com/10414478/1934669