查看innodb锁冲突
1 | select * from information_schema.innodb_lock_waits; |
查看innodb事务锁冲突情况
1 | select blocking_trx_id, count(blocking_trx_id) as countnum from (select a.trx_id,a.trx_state,b.requesting_trx_id,b.blocking_trx_id from information_schema.innodb_lock_waits as b left join information_schema.innodb_trx as a on a.trx_id=b.requesting_trx_id) as t1 group by blocking_trx_id order by countnum desc; |
获取到innodb事务锁冲突的原始id
1 | select id from information_schema.processlist,information_schema.innodb_trx where trx_mysql_thread_id=id and trx_id in (select blocking_trx_id from (select blocking_trx_id, count(blocking_trx_id) as countnum from (select a.trx_id,a.trx_state,b.requesting_trx_id,b.blocking_trx_id from information_schema.innodb_lock_waits as b left join information_schema.innodb_trx as a on a.trx_id=b.requesting_trx_id) as t1 group by blocking_trx_id order by countnum desc limit 1) c) ; |
获取到innodb事务锁冲突的原始id
1 | select concat('kill ', id, ';') from information_schema.processlist, information_schema.innodb_trx |
查看是否存在元锁冲突
1 | show processlist; |
查看导致元锁冲突的会话详细
1 | select * from information_schema.innodb_trx i, |
查看未提交或回滚的错误事务
1 | SELECT T.PROCESSLIST_ID,T.PROCESSLIST_TIME,E.SQL_TEXT |