MySQL 事务查看:一探究竟(mysql事物查看)
MySQL 事务是一种逻辑单元,用于编写一系列有关数据保持一致性和独立执行的操作。MySQL 中的事务提供了ACID(原子性,一致性,隔离性和持久性)的保证,可以安全地处理多个请求。本文将介绍如何查看MySQL 中的事务,以便了解当前由MySQL 执行的事务和其他活动情况。
要查看MySQL 中的事务,最简单的方法是使用 SHOW ENGINE INNODB STATUS 命令查看当前正在执行的事务信息,如下所示:
“`mysql
SHOW ENGINE INNODB STATUS;
****************** 1. row ********************
Type: InnoDB
Name:
Status:
=====================================
2020-07-05 15:33:58 0x17cb83c0a700 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 10 seconds
…
定空、Active transactions:
————
Trx id counter 0 359603
…
以上输出是有关当前正在执行的事务的一些信息,例如计数器值,状态,事务 ID等等。
此外,还可以使用 SHOW PROCESSLIST 命令查看当前正在执行的操作,包括事务信息。如下所示:```mysql
SHOW PROCESSLIST;
************************* 70. row ************************** Id: 555
User: root Host: localhost
db: NULLCommand: Sleep
Time: 9 State: NULL
Info: NULL
上面的输出显示当前正在运行的事务的ID,以及执行该事务的用户,主机和状态。
最后,可以使用 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST 命令查询当前正在运行的事务的MySQL 系统进程列表,以便进一步审查当前正在MySQL 中运行的任何事务,如下所示:
“`mysql
SELECT *
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE COMMAND = ‘Query’;
************************* 1. row **************************
ID: 555
User: root
Host: localhost
db: test
Command: Query
Time: 0
State: NULL
Info: SELECT * FROM test_table;
上面的输出包含有关当前运行的MySQL 事务的详细信息,包括 sql 语句、客户端的IP 地址等等。
综上,MySQL 事务查看可以采用各种不同的命令,例如 SHOW ENGINE INNODB STATUS,SHOW PROCESSLIST 和 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST,来查看当前正在MySQL 中执行的事务和活动情况。 此外,MySQL 中还提供了其他一些命令,例如 SHOW INNODB LOCKS,来查看所有当前事务中的锁。