You need to enable JavaScript to run this app.
导航
锁分析管理
最近更新时间:2024.09.27 14:48:06首次发布时间:2023.02.02 11:56:42

本文介绍如何在数据库工作台 DBW 的工作台中管理事务与锁,通过事务与锁功能,您可以查看分析在数据库内发生的所有锁。

前提条件

注意事项

  • 死锁页签仅展示最近一次的死锁信息,且查询结果仅保留 1 天。

  • 目标实例的参数innodb_deadlock_detect需为ON,否则将无法查询死锁信息。具体参数配置步骤,请参见修改参数

  • 当 MySQL 的版本为 5.7 或以下版本时,您需要关注以下信息:

    • 事务间无锁冲突时,无法检测锁的具体信息,例如锁 ID、锁关联索引和锁关联表等。

    • 当出现环形死锁且该死锁内包含 3 个或以上事务时,则仅展示死锁中两个事务的详细信息。

    • 当出现死锁时,可展示死锁信息中事务的详细信息,但仅有一个事务可展示他的持有锁信息,例如:

      • 事务 1:事务信息、等待锁信息(锁、索引名和类型)。

      • 事务 2:事务信息、等待锁信息(锁、索引名和类型)、持有锁信息(锁、索引名和类型)。

  • 死锁信息里的请求类型包括 altershowselectupdatedropdeletecreateother type

操作步骤

  1. 登录 DBW 控制台

  2. 在顶部菜单栏,选择项目和地域。

  3. 在左侧导航栏,选择运维管理 > 观测诊断

  4. 观测诊断页面,单击事务与锁
    alt

  5. 事务与锁页签上方,切换实例。

    说明

    • 您也可以通过实例 ID 搜索切换至目标实例。
    • 当您通过左侧导航栏的观测诊断进入事务与锁页签时,默认查看实例列表中第一个实例的相关信息。
  6. 事务与锁页签,您可以查看以下信息。

    • InnoDB 事务与锁页签,设置事务执行时间(大于)。可以实现以下操作:

      说明

      事务执行时间(大于) 的取值范围是 0~2147483647,单位为秒(s)。

      • 复制被阻塞的 SQL:将鼠标悬浮在被阻塞 SQL 列的目标语句上,单击复制图标复制被阻塞的 SQL 语句。

      • 查看目标会话内锁的详细信息:单击目标会话 ID 前的加号图标,展示该会话 ID 内的所有锁信息,包括锁属性锁 ID锁关联索引锁关联表锁类型锁模式

    • 死锁信息页签,可以查看死锁发生时间死锁收集时间事务信息session id请求类型涉及表等待锁等待锁索引名称等待锁类型持有锁等信息。

      说明

      • 每次查询仅收集最近一次死锁信息,且查询结果仅保留一天(即该保留时间从刷新死锁信息开始计算)。您可以单击刷新死锁信息,查看最近发生死锁的详细信息。

      • 目标实例的参数innodb_deadlock_detect需为ON,否则将无法查询死锁信息,具体操作,请参见修改参数