【mysql】查事务进程

目录

          • [1. 说明](#1. 说明)
          • [2. 使用 SHOW PROCESSLIST](#2. 使用 SHOW PROCESSLIST)
          • [3. 使用 INFORMATION_SCHEMA.PROCESSLIST](#3. 使用 INFORMATION_SCHEMA.PROCESSLIST)
          • [4. 查看事务状态](#4. 查看事务状态)
          • [5. 杀死特定的事务进程](#5. 杀死特定的事务进程)
1. 说明
  • 1.在MySQL中,你可以查看当前正在运行的事务进程,以便监控和管理数据库活动。
2. 使用 SHOW PROCESSLIST
  • 1.SHOW PROCESSLIST 命令可以列出当前在MySQL服务器上运行的所有线程,包括事务进程。
  • 2.可以查看当前活动的会话和它们正在执行的操作。
  • 3.将返回一个结果集,其中包括所有当前连接的会话和它们的状态。
  • 4.Id: 会话的唯一标识符。
  • 5.User: 连接的用户名。
  • 6.Host: 客户端的主机名。
  • 7.db: 当前使用的数据库(如果适用)。
  • 8.Command: 当前执行的命令类型。
  • 9.Time: 命令已运行的时间(以秒为单位)。
  • 10.State: 当前会话的状态。
  • 11.Info: 当前执行的SQL语句。
3. 使用 INFORMATION_SCHEMA.PROCESSLIST
  • 1.通过查询 INFORMATION_SCHEMA 库中的 PROCESSLIST 表来获取类似的信息。
    2.示例:

    select * from information_schema.processlist;

  • 3.将返回与 SHOW PROCESSLIST 类似的信息,可以使用标准的SQL查询语句进行更多自定义过滤和排序。

4. 查看事务状态
  • 1.可以通过查询 INFORMATION_SCHEMA 库中的 INNODB_TRX 表来查看具体的InnoDB事务信息。

  • 2.示例:

    select * from information_schema.innodb_trx;

  • 3.字段说明:

    trx_id: 事务的ID。
    trx_state: 事务的状态(如 RUNNING, LOCK WAIT, ROLLING BACK)。
    trx_started: 事务开始的时间。
    trx_requested_lock_id: 事务请求的锁的ID(如果有)。
    trx_wait_started: 等待开始的时间(如果有)。
    trx_weight: 事务的权重(由修改和锁住的行数决定)。
    trx_mysql_thread_id: 事务所属的MySQL线程ID。

  • 4.结合 INFORMATION_SCHEMA.PROCESSLIST 和 INNODB_TRX。

  • 5.可以结合 PROCESSLIST 和 INNODB_TRX 表来获取更多详细的事务信息,例如查找特定事务的SQL语句和状态:

    SELECT
    p.ID,
    p.USER,
    p.HOST,
    p.DB,
    p.COMMAND,
    p.TIME,
    p.STATE,
    p.INFO,
    t.trx_id,
    t.trx_state,
    t.trx_started,
    t.trx_wait_started,
    t.trx_weight,
    t.trx_mysql_thread_id
    FROM
    INFORMATION_SCHEMA.PROCESSLIST p
    JOIN
    INFORMATION_SCHEMA.INNODB_TRX t
    ON
    p.ID = t.trx_mysql_thread_id;

5. 杀死特定的事务进程
  • 1.如果发现某个事务进程有问题并需要终止它,你可以使用 KILL 命令来杀死特定的会话。

  • 2.首先找到会话的ID(可以通过上述查询获取),然后执行以下命令:

    KILL <thread_id>;

  • 3.例如这将终止ID为1234的会话及其相关的事务。

    KILL 1234;

相关推荐
萧曵 丶12 小时前
MySQL 主键不推荐使用 UUID 的深层原因
数据库·mysql·索引
kaico201815 小时前
MySQL的索引
数据库·mysql
资生算法程序员_畅想家_剑魔16 小时前
Mysql常见报错解决分享-01-Invalid escape character in string.
数据库·mysql
霖霖总总17 小时前
[小技巧14]MySQL 8.0 系统变量设置全解析:SET GLOBAL、SET PERSIST 与 SET PERSIST_ONLY 的区别与应用
数据库·mysql
alonewolf_9917 小时前
深入剖析MySQL索引底层:B+树、联合索引与跳跃扫描原理全解
数据库·b树·mysql
oMcLin18 小时前
如何在Debian 11上通过配置MySQL 8.0的分布式架构,提升跨区域数据同步的效率与延迟?
分布式·mysql·debian
计算机学姐18 小时前
基于SpringBoot的校园资源共享系统【个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·spring·信息可视化
霖霖总总19 小时前
[小技巧23]全面理解 MySQL 的 WAL 机制:原理、影响与可观测性
数据库·mysql
冰暮流星20 小时前
sql语句之select语句的基本使用
数据库·sql·mysql
计算机毕设指导620 小时前
基于微信小程序的钓鱼论坛系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven