mysql查看正在锁表的事务
时间: 2023-08-06 20:12:21 浏览: 181
mysql查询表是否被锁的方法
可以使用以下命令查看正在锁表的事务:
```
SHOW ENGINE INNODB STATUS\G
```
执行该命令后,会输出大量的信息,其中包含了当前 MySQL 实例的一些状态信息,包括正在执行的事务、锁等信息。在这些信息中,可以找到类似如下的内容:
```
---TRANSACTION 123456, ACTIVE 10 sec
1234 lock struct(s), heap size 123456, 5678 row lock(s), undo log entries 1234
```
其中,`123456` 是该事务的 ID,`10 sec` 表示该事务已经活跃了 10 秒,`1234` 是锁结构的数量,`123456` 是堆大小,`5678` 是行锁的数量,`1234` 是 undo 日志条目数。
如果想要更详细地查看某个事务的信息,可以使用以下命令:
```
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX WHERE trx_state='LOCK WAIT';
```
这条语句会输出所有状态为 `LOCK WAIT` 的事务的信息,包括事务 ID、锁定的表、锁定的行等信息。
阅读全文