当前运行的所有事务,已经完成的是查不到的

select * from information_schema.innodb_trx;

当前出现的锁

# 当前的锁
Mysql8.0 之前使用:select * from information_schema.innodb_locks;
Mysql8.0 使用:select * from performance_schema.data_locks;

# 锁等待的对应关系 
Mysql8.0 之前使用:select * from information_schema.innodb_lock_waits;
Mysql8.0 使用:select * from performance_schema.data_lock_waits;

锁等待的对应关系

# Mysql8.0 之前使用:
select * from information_schema.innodb_lock_waits;

# Mysql8.0 使用:
select * from performance_schema.data_lock_waits;

查看锁的情况 附有字段说明

show status like 'innodb_row_lock_%';

-- Innodb_row_lock_current_waits : 当前等待锁的数量
-- Innodb_row_lock_time : 系统启动到现在,锁定的总时间长度
-- Innodb_row_lock_time_avg : 每次平均锁定的时间
-- Innodb_row_lock_time_max : 最长一次锁定时间
-- Innodb_row_lock_waits : 系统启动到现在总共锁定的次数

查询是否锁表

show OPEN TABLES where In_use > 0;

死锁测试demo