在 MySQL 工作台中运行查询时,其中一些会被捕获到日志文件中:
MySQL/Workbench/logs
MySQL/Workbench/sql_history
但是,我想查看MySQL 工作台所做的所有可能的查询。有没有办法在客户端执行此操作,即运行 MySQL 工作台的地方?例如,很高兴看到这些图表是如何生成的以及系统数据是如何被抓取的,等等:
在 mysql 中,我可以使用以下命令检查当前的连接 ID:
SELECT connection_id();
它返回 id:
# connection_id()
'6558851'
或者:
SELECT * from information_schema.processlist
WHERE id = connection_id();
# ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO
'6558851', 'abc', '99-51-01-something:55353', 'XA', 'Query', '0', 'executing', 'select * from information_schema.processlist plist where id=connection_id()'
但是该函数在哪里定义(如果它是函数?)?我已签入sys
,information_schema
但无法找到使用该名称定义的函数。那么这个位置在哪里呢?
更新,再回顾一下,似乎这些只是mysql 数据库的内置函数——即,与使用 a 或任何其他函数没有什么不同GROUP_CONCAT()
,例如:
SELECT connection_id(), now(), id, email FROM auth_user limit 10;
这样,它将在 C++ 代码中定义,而不是作为用户/系统定义的函数。这是正确的理解吗?