找出未提交的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 线程即可。
时间: 2024-10-03 14:02:55