tidb如何查看锁表情况?

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v6.5.5
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

MySQL可以通过SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;查看
TiDB要怎么查看呢?

这要看MYSQL版本,5.7里面有三张相关表,8里面就没有 INFORMATION_SCHEMA.INNODB_LOCKS,只有INNODB_TRX

那MySQL8要怎么查呀

还有tidb6.5.5该怎么查呀,现在排查问题有点捉急

https://docs.pingcap.com/zh/tidb/v6.5/information-schema-data-lock-waits#data_lock_waits

SHOW OPEN TABLES WHERE In_use > 0; 试试

看这三个:
DATA_LOCK_WAITS

集群上所有TiKV节点上当前正在发生的悲观锁等待;

仅拥有PROCESS权限的用户可以查询;

从所有TiKV节点实时获取;

如果集群规模很大、负载很高,查看该表时有造成性能抖动的潜在风险。

DEADLOCKS

提供当前TiDB节点上最近发生的若干次死锁错误的信息;

默认容纳最近10次死锁错误的信息。

死锁问题排查:

select * from information_schema.deadlocks;

TIDB_TRX

返回了当前所有TiDB上正在执行的事务信息;

仅拥有PROCESS权限的用户可以查询。

还有ddl如果卡住看: mysql.tidb_mdl_view 视图,可以用于查看当前阻塞的 DDL 的相关信息。

好的多谢解答

好的我试试

我看看

菜鸟学习了啊。

菜鸟学习了 :+1:

show open tables where in_use>0;
这是mysql里面查看是否有锁表,在这里面也好使

学习了,
DATA_LOCK_WAITS
DEADLOCKS
TIDB_TRX

都是通用的呢

TiDB里没有表锁吧,表锁功能没有GA吧,参考:https://docs.pingcap.com/zh/tidb/dev/basic-features#sql-语句
行锁问题相关分析:https://docs.pingcap.com/zh/tidb/dev/troubleshoot-lock-conflicts
元数据锁:https://docs.pingcap.com/zh/tidb/dev/metadata-lock

好的,我看看

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。