[原创]使MySQL注释语句在后台能够输出的方法

开启general log或slow log的时候,前端发出的sql语句中的注释都别屏蔽掉了。

本意加注释我们想通过注释来快速知道sql是由哪个业务模块发出的。这点对dba和研发很有帮助。

一种变通的思路是采用 /*!版本号 执行内容   */的方式来实现。

另外,偶然发现percona tools执行的时候,有类似/*pt-online-schema-change 26317 copy nibble*/的注释被记录在log中。

但是并没发现有任何相关的变量被提前设置。

随后发现mysql也有这样的命令参数
-c, --comments Preserve comments. Send comments to the server. The
default is --skip-comments (discard comments), enable
with --comments.
测试mysql -c登录,执行带有/* test only */的语句,可以被log记录下来。

在my.cnf中client和mysql两个部分分别增加以下comments内容,测试都生效。
[client]
comments

[mysql]
comments

然后mysql --defaults-file=fullname的方式登录,效果相同。

猜你喜欢

转载自www.cnblogs.com/DataArt/p/10081894.html