You need to enable JavaScript to run this app.
导航
锁分析管理
最近更新时间:2024.11.25 10:36:44首次发布时间: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锁关联索引锁关联表锁类型锁模式

      • 终止会话:选中目标会话,单击 KILL 会话,即可终止会话。

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

      说明

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

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