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

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

 
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤