我在数据库上运行了一个长时间运行的事务
---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上运行
答案 0 :(得分:6)
您应该使用线程ID,而不是查询ID。
如果你有shell访问权限,你可以执行show full processlist
然后grep寻找相关的线程ID。
例如:
mysql -e "show full processlist;" | grep 34318076