我可以从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的查询?
答案 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=112和http://dev.mysql.com/doc/refman/5.1/en/query-log.html
答案 2 :(得分:0)
您可以使用以下命令: SHOW PROCESSLIST;
它将为您提供所有当前正在运行的进程及其正在执行的查询ID和查询。