在mysql中从query_id中查找查询

时间:2011-08-25 12:32:24

标签: mysql deadlock workbench

我可以从mysql查询ID中找到确切的查询吗?

这是MySQL中“SHOW ENGINE INNODB STATUS”的一部分:

MySQL thread id 1106, query id 1360 localhost 127.0.0.1 test2
---TRANSACTION 0 19491, not started, OS thread id 2960035840

有没有办法可以找到ID为1360的查询?

3 个答案:

答案 0 :(得分:0)

有些人说打开'常规日志',你会发现你的查询是id。 http://forums.mysql.com/read.php?22,419784,419896#msg-419896

答案 1 :(得分:0)

刚刚将此行添加到my.cnf

log=/tmp/mysql_query.log

然后重新启动mysql服务(/etc/init.d/mysql stop /etc/init.d/mysql start

然后添加日志文件。看来它里面有一个查询ID!

110825 15:07:49    36 Connect   ***@localhost on ***
...
           36 Query SELECT * FROM genre g LIMIT 0,1000
           36 Quit  

另请参阅http://www.jeff-barr.com/?p=112http://dev.mysql.com/doc/refman/5.1/en/query-log.html

答案 2 :(得分:0)

您可以使用以下命令: SHOW PROCESSLIST;

它将为您提供所有当前正在运行的进程及其正在执行的查询ID和查询。