MySQL 锁等待与事务

从“请求变慢 / 超时 / 大量锁等待”进入,沿着会话、事务、锁对象和业务影响建立证据链。

诊断路径

  1. 确认影响范围:单表、单业务还是全局连接堆积。
  2. 建立时间线:发布、批处理、长事务、DDL、流量变化。
  3. 读取 performance_schemasys、processlist 和 InnoDB 状态。
  4. 区分行锁、间隙锁、元数据锁、死锁和资源瓶颈。
  5. 先止损,再决定终止会话、回滚事务或延后变更。
  6. 验证等待消失、积压恢复、数据一致性和业务延迟。

重点卡片

  • Concept:隔离级别、锁范围、死锁检测、长事务边界。
  • Troubleshooting:锁等待、MDL 阻塞、死锁、复制延迟。
  • Runbook:安全终止会话、DDL 前检查、恢复后观察。
  • Incident:记录完整时间线和误操作风险。

返回 MySQL