首页 游戏 软件 资讯 排行榜 专题
首页
数据库
MySQL实时查看运行中事务的INNODB_TRX表查询方法

MySQL实时查看运行中事务的INNODB_TRX表查询方法

热心网友
72
转载
2026-05-08

在数据库性能调优与故障排查过程中,实时监控正在运行的事务是数据库管理员和开发人员的关键任务。然而,许多用户在MySQL 8.0及以上版本中尝试查询 INFORMATION_SCHEMA.TRX 表时会发现查询失败——因为该表并不存在。这通常是由于对性能模式(performance_schema)或旧版InnoDB监控器输出的记忆混淆所致。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

mysql如何查看当前正在运行的事务_查询information_schema的trx表

实际上,要准确获取MySQL中活跃事务的实时状态,正确的途径是查询 information_schema.INNODB_TRX 表。该表由InnoDB存储引擎原生提供,无需任何额外配置即可直接使用,是查看当前事务最权威的数据源。

使用 information_schema.INNODB_TRX 查询当前运行事务

只要用户具备 PROCESS 权限,就可以直接查询此表来监控事务。一个基础而实用的查询语句如下:

SELECT trx_id, trx_state, trx_started, trx_mysql_thread_id, trx_query
FROM information_schema.INNODB_TRX;

理解查询结果的各个字段,对于精准诊断问题至关重要:

  • trx_state 揭示事务状态:此字段是判断事务所处阶段的核心。RUNNING 表示事务正在活跃执行;LOCK WAIT 表明事务正在等待获取锁资源;而 ROLLING BACKCOMMITTING 则代表事务正在结束过程中。
  • trx_started 标识事务时长:该时间戳是识别“长事务”或“僵尸事务”的关键依据。通常,运行时间超过数十秒的事务就需要引起警惕,进行深入分析。
  • 注意 trx_query 的显示范围:此字段仅显示该事务中最后一条正在执行或已执行的SQL语句,并非事务完整的操作历史。若显示为空,可能意味着事务处于空闲状态或刚刚开始。
  • 需要明确的是,此表仅记录采用InnoDB引擎的表所产生的事务。若应用中使用了MyISAM等非事务性引擎,相关操作不会在此表中体现。

为何查询 performance_schema 事务表时常为空?

许多用户也会尝试查询 performance_schema.events_transactions_current 来监控事务,但经常发现结果为空。根本原因在于,MySQL默认并未开启事务事件的监控采集功能。

若希望从性能模式中获取事务数据,需要手动启用对应的事件消费者(consumer):

UPDATE performance_schema.setup_consumers
SET ENABLED = 'YES'
WHERE NAME = 'events_transactions_current';

同时,还需确保 setup_instruments 表中,与事务(transaction)及InnoDB锁等待(wait/lock/innoDB/...)相关的监控项(instrument)也已处于启用状态。

这里有两点重要的实践建议:首先,开启这些监控功能会引入轻微的性能开销,在生产环境中建议根据实际排查需要临时开启,并在完成后及时关闭。其次,性能模式主要记录由 BEGINSTART TRANSACTION 显式开启的事务。在自动提交(autocommit)模式下执行的单条SQL,通常不会被记录到事务事件表中。

如何终止(Kill)长时间运行的事务?

当你通过 INNODB_TRX 表定位到一个可疑的长时间运行事务并决定终止它时,必须注意:无法直接通过事务ID(trx_id)进行操作。

正确的操作依据是连接线程ID,即 trx_mysql_thread_id 字段,它对应于 SHOW PROCESSLIST 命令结果中的 Id 列。终止命令如下:

KILL 12345;

在执行 KILL 命令前,务必进行谨慎确认:确保该事务状态为 RUNNING,且其开始时间(trx_started)确实异常,以避免误杀正常的短时业务事务。

如果事务状态是 LOCK WAIT,那么终止操作将杀掉等待锁的会话。但这可能并未解决根本问题,因为持有锁的会话可能仍在运行。此时,需要联合查询 INNODB_LOCK_WAITSINNODB_LOCKS(在MySQL 8.0中相关表名可能有变化)来理清完整的锁依赖关系。

此外,对于MySQL 5.7或更早版本的用户,需注意一个历史细节:在极高并发场景下,INNODB_TRX 表中的 trx_mysql_thread_id 可能显示为0。遇到此情况,只能通过人工比对 PROCESSLIST 中的信息与事务开始时间等进行匹配。

总而言之,事务的状态、锁等待和持有信息分散在多个系统表中。要精准定位复杂的数据库阻塞或长事务问题,通常需要将 INNODB_TRXINNODB_LOCK_WAITS 以及锁信息表进行联合查询与分析,才能获得全局视图。

来源:https://www.php.cn/faq/2432845.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

MySQL复杂查询CPU飙升原因解析语法检查与计算节点开销详解
数据库
MySQL复杂查询CPU飙升原因解析语法检查与计算节点开销详解

MySQL复杂查询CPU飙升:解析器与优化器的“隐形战场” 说起MySQL复杂查询导致CPU飙升,很多人的第一反应是“数据量太大”或者“磁盘IO跟不上”。其实,真正的瓶颈往往不在数据读取本身,而在于查询“起飞”前的准备工作。当一条SQL包含嵌套子查询、多层JOIN,或者使用了非确定性函数时,解析器和

热心网友
05.08
MySQL设置自增初始值教程 修改auto_increment实现多主复制
数据库
MySQL设置自增初始值教程 修改auto_increment实现多主复制

在MySQL双主架构中,为避免自增ID冲突,必须配对设置auto_increment_increment与auto_increment_offset参数。例如将步长设为2,两主库偏移量分别设为1和2,可生成错开的奇偶ID序列。配置需写入my cnf文件并重启服务以永久生效,同时确保server-id唯一并开启log_slave_updates,从而构建稳定的

热心网友
05.08
MySQL二进制查询方法详解 binary关键字使用教程
数据库
MySQL二进制查询方法详解 binary关键字使用教程

BINARY是MySQL的类型修饰符,用于将字符串临时转为二进制字符串以实现字节级精确比较,不改变字段本身。它常用于强制大小写敏感匹配,但需注意正确语法和索引使用。与COLLATEutf8mb4_bin相比,BINARY是临时转换,后者更适用于长期需求。在LIKE查询中使用BINARY可能导致索引失效,应谨慎使用。

热心网友
05.08
MySQL索引失效原因分析与统计信息更新优化指南
数据库
MySQL索引失效原因分析与统计信息更新优化指南

MySQL选错索引常因统计信息过时。使用ANALYZETABLE可重新采样索引页,更新行数和基数等统计信息,使优化器基于真实数据分布选择更优索引,从而将查询性能从秒级恢复至毫秒级。该命令适用于InnoDB表,建议在业务低峰期执行。若无效,需排查统计信息未持久化、查询条件使用函数或存在隐式类型转换等情况。

热心网友
05.08
MySQL 8 0多值索引创建指南优化数组字段查询性能
数据库
MySQL 8 0多值索引创建指南优化数组字段查询性能

MySQL8 0多值索引需用CAST函数将JSON数组转为统一SQL类型数组,隐式生成虚拟列并创建索引。仅支持MEMBEROF、JSON_CONTAINS等特定查询触发。复合索引中只允许一个多值键部分,每个数组元素会生成独立索引项,增加索引体积。通过EXPLAIN可验证索引是否生效。

热心网友
05.08

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

OKX购买USDT新手教程:从注册到交易完整步骤详解
web3.0
OKX购买USDT新手教程:从注册到交易完整步骤详解

购买USDT是进入加密货币世界的重要一步。本文以OKX平台为例,详细介绍了从注册、身份认证到完成购买的完整流程,涵盖了快捷买币、C2C交易等不同方式的操作要点与注意事项,旨在帮助新手安全、顺利地迈出第一步。

热心网友
05.08
Windows 11 任务管理器新增AI硬件监控与NPU性能监测
电脑教程
Windows 11 任务管理器新增AI硬件监控与NPU性能监测

Windows任务管理器,终于跟上了AI时代 几十年来,Windows任务管理器堪称操作系统的“老伙计”,忠实记录着每一个进程的脉搏。但眼下,这位老将遇到了新挑战:它必须得追上一波十年前根本无法想象的技术浪潮。最典型的例子是什么?就是你新买的电脑里,很可能已经多了个叫“神经网络处理单元”(NPU)的

热心网友
05.08
Safari预览版十周年版本累计更新240次回顾苹果Web技术探索历程
电脑教程
Safari预览版十周年版本累计更新240次回顾苹果Web技术探索历程

苹果前沿 Web 技术试验田:Safari 预览版浏览器迎 10 周年,版本累计更迭 240 次 十年,对于一个快速迭代的科技产品来说,足以称得上一个里程碑。就在最近,苹果专门为开发者打造的浏览器测试工具——Safari 技术预览版,悄然迎来了它的十周岁生日。 故事要回溯到2016年3月30日。当时

热心网友
05.08
C4D教程TFD插件制作逼真烟雾效果详细步骤
电脑教程
C4D教程TFD插件制作逼真烟雾效果详细步骤

C4D怎么使用TFD插件制作烟雾效果呢? 说起在Cinema 4D里模拟烟雾效果,TFD(TurbulenceFD)插件绝对是很多高手的首选工具。不过,对于刚接触它的朋友来说,那一堆参数和设置可能有点让人无从下手。别担心,下面这份详细的流程图解式教程,将一步步带你从零开始,制作出细节丰富、动态真实的

热心网友
05.08
Cinema 4D制作线型三维立体圆环纹理详细步骤指南
电脑教程
Cinema 4D制作线型三维立体圆环纹理详细步骤指南

C4D必备技能:手把手教你打造三维线状圆环图纹 想要在Cinema 4D中创建出那种充满科技感和结构美的三维线状圆环图纹吗?这个效果在动态图形和视觉包装中应用广泛,制作过程其实并不复杂。掌握了核心的操作逻辑,几步就能实现,下面就为你拆解整个操作流程。 C4D怎么创建三维立体的线状圆环图纹效果 首先,

热心网友
05.08