当我像这样启用对表的 sql 日志记录时:
set global log_output = 'table'
set global general_log = 'on'
做一些查询然后查看日志表,如下所示:
select * from mysql.general_log
order by event_time desc
我没有看到我的 sql。我在参数字段或空白('')中看到这样的十六进制数字,根本没有 SQL:
0x53484F5720435245415445205441424C4520606D7973716C602E6067656E6572616C5F6C6F6760
出了什么问题?
使用此查询以文本形式获取参数:
这只是查询 ASCII 字符串的十六进制表示:
如果您检查
SHOW CREATE TABLE
显然执行的命令的输出,您会看到argument
列数据类型是mediumblob
,这是一种二进制格式,因此打印为十六进制字符串。mysql
CLI 应该自动翻译这些字符串;我怀疑您使用的客户端软件没有这样做。下面的查询显示了column的人类可读查询日志
argument
: