如何查看锁等待信息_mysql锁日志排查
最直接查锁等待关系是查询INFORMATION_SCHEMA.INNODB_LOCK_WAITS表,获取requesting_trx_id和blocking_trx_id,再关联INNODB_TRX查具体SQL;MySQL 8.0起应改用performance_schema.data_lock_waits和data_locks;死锁详情通过SHOW ENGINE INNODB STATUS\G查看,长期捕获需启用innodb_print_all_deadlocks=ON并查错误日志。
查当前锁等待关系
最直接的方式是查 INFORMATION_SCHEMA.INNODB_LOCK_WAITS 表,它明确记录了谁在等谁:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
结果里有两个关键字段:requesting_trx_id(等待方事务 ID)和 blocking_trx_id(阻塞方事务 ID)。
再关联 INNODB_TRX 表就能看到具体 SQL 和事务状态:
SELECT trx_id, trx_state, trx_started, trx_mysql_thread_id, trx_query
FROM INFORMATION_SCHEMA.INNODB_TRX
WHERE trx_id IN (SELECT blocking_trx_id FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS);
MySQL 8.0 推荐用 performance_schema
INNODB_LOCKS 表已在 8.0 中移除,建议改用 performance_schema.data_lock_waits 和
data_locks:
- 查所有锁:SELECT OBJECT_NAME, LOCK_TYPE, LOCK_MODE, OWNER_THREAD_ID FROM performance_schema.data_locks WHERE OBJECT_SCHEMA = 'your_db';
- 查锁等待链:
SELECT r.OBJECT_NAME AS table_name,
r.LOCK_MODE AS requested_mode,
b.LOCK_MODE AS blocking_mode,
r.OWNER_THREAD_ID AS waiting_thread,
b.OWNER_THREAD_ID AS blocking_thread
FROM performance_schema.data_lock_waits w
JOIN performance_schema.data_locks r ON w.REQUESTING_ENGINE_LOCK_ID = r.ENGINE_LOCK_ID
JOIN performance_schema.data_locks b ON w.BLOCKING_ENGINE_LOCK_ID = b.ENGINE_LOCK_ID;
看最近一次死锁详情
执行命令:
SHOW ENGINE INNODB STATUS\G
输出中重点关注 LATEST DETECTED DEADLOCK 区块,里面包含:
- 涉及的两个事务 ID 和活跃时间
- 各自持有的锁(HOLDS THE LOCK(S))
- 各自等待的锁(WAITING FOR THIS LOCK TO BE GRANTED)
- 触发死锁的具体 SQL 语句
注意:该命令只保留最近一次死锁,不能回溯历史。
开启并查看死锁日志
要长期捕获死锁,需启用参数:
SET GLOBAL innodb_print_all_deadlocks = ON;
(无需重启,但仅对后续死锁生效)
死锁信息会写入 MySQL 错误日志,路径可通过以下命令确认:
SHOW VARIABLES LIKE 'log_error';
常见路径如 /var/log/mysql/error.log,用 grep 快速定位:
grep -A 20 "LATEST DETECTED DEADLOCK" /var/log/mysql/error.log
上一篇 : PPT如何制作立体球体形状_PPT形状渐变填充教程
下一篇 : AI视频编辑终极指南:Descript提速十倍,告别繁琐流程
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!