首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL通用查询日志:显示准备好的参数值?

MySQL通用查询日志:显示准备好的参数值?
EN

Server Fault用户
提问于 2016-11-14 03:45:22
回答 3查看 2.7K关注 0票数 2

当我启用MySQL通用查询日志时,准备好的语句执行记录如下:

代码语言:javascript
复制
Execute SELECT col1, col2 FROM table1 WHERE col1 = ?

我在互联网上看到了其他信息,我认为这些信息显示人们看到了准备好的语句参数的替换值,但我根本找不到这方面的信息。

我需要看到在查询中使用的值,并且不能在客户端执行,因为它是编译过的代码(虽然我确实试图让它在端口3306上连接,但是ngrep没有显示流量,所以如果可用的话,我想它使用的是套接字,而且我也不知道用数据包嗅探来重构准备好的查询有多容易)。

如果我设置了long_query_time = 0,那么缓慢的查询日志会显示我想要的值吗?还有其他的可能性吗?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2016-11-14 05:16:12

设置long_query_time = 0slow_query_log = 1,在慢速查询日志中重新启动mysql显示具有实际参数值的查询。

我不会接受这个答案,这是获得通用查询日志以显示参数值的更好方法。

票数 1
EN

Server Fault用户

发布于 2017-07-08 19:41:14

您需要跟踪dev或prod中的查询吗?如果只有开发人员,您可以查看乐透。它显示了预先准备好的语句和它的参数。

票数 0
EN

Server Fault用户

发布于 2020-03-12 22:53:51

mysql一般日志完全符合您的要求。寻找“执行”执行,而不是“准备”

例如,这里有两行,首先看到带有参数变量的准备语句命令,然后看到execute语句,变量替换它们的字面值。

代码语言:javascript
复制
Prepare SELECT `html_column_grid`.* FROM `html_column_grid` WHERE html_column_grid_html_id IN(?) ORDER BY `html_column_grid_ordering` 
Execute SELECT `html_column_grid`.* FROM `html_column_grid` WHERE html_column_grid_html_id IN('5555') ORDER BY `html_column_grid_ordering` 

这是在mysql 5.7上

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/814710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档