前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Innodb加锁信息查看

Innodb加锁信息查看

作者头像
十毛
发布2021-07-27 14:41:27
1.1K0
发布2021-07-27 14:41:27
举报

Innodb加锁分析时,需要查看当前加锁情况

使用命令行

代码语言:javascript
复制
show engine innodb status

开启NNODB监控机制(InnoDB Monitors)

mysql提供一套INNODB监控机制,用于周期性(每15钞)输出INNODB运行相关状态(INNODB运行状态、表空间状态、表状态等)到mysqld服务标准错误输出。另外,INNODB标准监控和锁监控,也可以通过命令:show engine innodb status输出到控制台。

自mysql 5.6.16版本之后,可以通过设置系统参数(innodb_status_output_locks)的方式开启或者关闭标准监控。

代码语言:javascript
复制
set GLOBAL innodb_status_output=ON;
set GLOBAL innodb_status_output_locks=ON;

查看表信息

  • 开启performance_schema 修改performance_schema参数需要重启mysql
代码语言:javascript
复制
[mysqld]
performance_schema=ON

分别查看事务的锁信息,以及锁等待信息,mysql8与之前的版本查询的表不一样,是在performance_schema库中,表名也变成了data_locksdata_lock_waits

代码语言:javascript
复制
// mysql 5.x
// innodb_locks记录了所有innodb正在等待的锁,和被等待的锁
select * from information_schema.innodb_locks;
// innodb_lock_waits记录了所有innodb锁的持有和等待关系
select * from information_schema.innodb_lock_waits'

// mysql8: 锁信息
select * from performance_schema.data_locks;
// mysql8: 锁等待信息
select * from performance_schema.data_lock_waits;
// mysql8: MDL锁信息
select * from performance_schema.metadata_locks;
  • 查看当前事务ID
代码语言:javascript
复制
SELECT tx.trx_id FROM information_schema.innodb_trx tx WHERE tx.trx_mysql_thread_id = connection_id()

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用命令行
  • 查看表信息
  • 参考
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档