我可以从 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 的查询?
您可以使用以下命令:SHOW PROCESSLIST;
它将为您提供所有当前正在运行的进程及其查询 ID 和正在执行的查询。
刚刚将此行添加到 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
有些人说打开“通用日志”,您会通过 id 找到您的查询。 http://forums.mysql.com/read.php?22,419784,419896#msg-419896