MySQL - 通过mysql中的查询ID显示查询< 5.1.7

时间:2014-01-07 13:33:15

标签: mysql

我在数据库上运行了一个长时间运行的事务

---TRANSACTION 2 4166167596, ACTIVE 14868 sec, process no 7906, OS thread id 1169635648
MySQL thread id 34318076, query id 1997556522 10.186.131.136 admin

以上是SHOW INNODB ENGINE STATUS命令

的输出

我想通过查询ID 1997556522查看正在运行的查询。SHOW FULL PROCESSLIST不是一个选项,因为它要求我从数百个列表中手动查找查询。

这个SO Thread表示你可以通过查询MySQL 5.1.7及更高版本的INFORMATION_SCHEMA.PROCESSLIST表来做到这一点。是否可以在旧版本上这样做?

我在MySQL 5.0.45上运行

1 个答案:

答案 0 :(得分:6)

您应该使用线程ID,而不是查询ID。

如果你有shell访问权限,你可以执行show full processlist然后grep寻找相关的线程ID。

例如:

mysql -e "show full processlist;" | grep 34318076