MySQL 锁诊断:从阻塞源开始处理 | NineData
锁等待通常包含阻塞源和等待会话。排障时应先还原阻塞链路,再结合事务内容和业务影响判断处理动作,避免只终止排队中的会话而没有解除根因。
前提条件
- 已登录 NineData 控制台,并已添加目标 MySQL 数据源。
- 当前账号具备目标数据源访问权限。
- 生产环境处理锁等待前,已准备授权、审批和回滚方案。
操作步骤
打开目标 MySQL 数据源的 SQL 窗口,确认当前问题属于授权排障范围。

在 SQL 窗口右上角打开 ChatDBA。

输入锁诊断需求并发送,例如:
请诊断当前 MySQL 是否存在锁等待或死锁风险,找出阻塞源、被阻塞会话、涉及 SQL,并给出应急处理建议。查看阻塞源、等待会话、阻塞 SQL、等待 SQL、处理前确认项和长期优化建议。

结果与风险
- 优先确认阻塞源,而不是仅根据等待会话决定终止对象。
- 提交、回滚或终止会话都可能改变业务状态。执行前确认事务内容、业务影响和回滚成本,并遵循审批流程。
- 后续从事务持有时间、更新顺序、索引和批量大小等方面治理锁风险。