MySQL 锁等待与事务
从“请求变慢 / 超时 / 大量锁等待”进入,沿着会话、事务、锁对象和业务影响建立证据链。
诊断路径
- 确认影响范围:单表、单业务还是全局连接堆积。
- 建立时间线:发布、批处理、长事务、DDL、流量变化。
- 读取
performance_schema、sys、processlist 和 InnoDB 状态。 - 区分行锁、间隙锁、元数据锁、死锁和资源瓶颈。
- 先止损,再决定终止会话、回滚事务或延后变更。
- 验证等待消失、积压恢复、数据一致性和业务延迟。
重点卡片
- Concept:隔离级别、锁范围、死锁检测、长事务边界。
- Troubleshooting:锁等待、MDL 阻塞、死锁、复制延迟。
- Runbook:安全终止会话、DDL 前检查、恢复后观察。
- Incident:记录完整时间线和误操作风险。
返回 MySQL。