查看mysql当前的锁_【MySQL】锁——查看当前数据库锁请求的三种方法 20

本文介绍了MySQL中查看当前数据库锁请求的三种方法:使用show full processlist命令查看state和info,通过show engine innodb statusG检查TRANSACTIONS和DEADLOCKS,以及查询information_schema的innodb_trx、innodb_locks和innodb_lock_waits表。详细解析了这三张表的关键字段,并给出示例SQL进行联合查询,帮助分析锁问题。
摘要由CSDN通过智能技术生成

MySQL提供了查看当前数据库锁请求的三种方法:

1. show  full  processlist命令观察state和info列

2. show engine  innodb status\G 命令

查看 TRANSACTIONS 部分和 LATEST DETECTED DEADLOCK 两个部分

3. information_shcema下的三张表(通过这三张表可以更新监控当前事物并且分析存在的锁问题) —— innodb_trx (

打印innodb内核中的当前活跃(ACTIVE)事务)

—— innodb_locks

( 打印当前状态产生的innodb锁 仅在有锁等待时打印)

—— innodb_lock_waits

(打印当前状态产生的innodb锁等待 仅在有锁等待时打印)

1) innodb_trx表结构说明 (摘取最能说明问题的8个字段)

字段名

说明

trx_id

innodb存储引擎内部唯一的事物ID

trx_state

当前事物状态(running和lock wait两种状态)

trx_started

事物的开始时间

trx_requested_lock_id

等待事物的锁ID,如trx_state的状态为Lock wait,那么该值带表当前事物等待之前事物占用资源的ID,若trx_state不是Lock wait 则该值为NULL

trx_wait_started

事物等待的开始时间

trx_weight

事物的权重,在innodb存储引擎中,当发生死锁需要回滚的时,innodb存储引擎会选择该值最小的进行回滚

trx_mysql_t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值