当我启用MySQL通用查询日志时,准备好的语句执行会被logging下来,如下所示:
Execute SELECT col1, col2 FROM table1 WHERE col1 = ?
我已经看到了互联网上的其他信息,我认为这些信息显示人们看到了已准备好的语句参数的replace值,但我根本找不到任何有关这方面的信息。
我需要查看查询中使用的值,并且不能在客户端执行它,因为它是编译代码(虽然我试图告诉它连接端口3306,但ngrep显示没有stream量,所以我想这是使用套接字(如果可用的话,我不知道它是多么容易重build与数据包嗅探准备查询)。
如果我设置long_query_time = 0 ,慢查询日志将显示我后面的值? 还有什么其他的可能性?
设置long_query_time = 0和slow_query_log = 1 ,重新启动mysql将在慢查询日志中显示带有其实际参数值的查询。
我不会接受这个答案,等待一个更好的方式来获取一般查询日志来显示参数值。
你需要跟踪dev或prod中的查询吗? 如果开发只有你可以看看Lottip 。 它显示准备好的陈述与它的参数。