mysql - MySQL Workbench 通用日志。当他们通过网络进行查询时,我们如何识别特定用户?
问题描述
在 MySQL 工作台下,我有多个用户使用 rest API 通过网络连接到数据库。
每当他们对数据库进行更改时,通用日志仅报告数据库中正在插入或更改的内容,但不报告是谁进行了更改。
例如,如果我尝试在 table 中插入一些值person123
,它只会记录以下内容:
INSERT INTO person123 (customerid, firstname, lastname) VALUES ('ya5',
'yes5', 'yay5')
如您所见,它只记录插入的内容,但不让我们知道是谁进行了查询。
解决方案
通用日志仅报告数据库中正在插入或更改的内容,但不报告更改的来源。
在常规日志中,您可以看到整个会话。喜欢
Time Id Command Argument
2021-10-14T15:09:01.830083Z 8 Connect akina@localhost on test using SSL/TLS
2021-10-14T15:09:01.859920Z 8 Query select @@version_comment limit 1
2021-10-14T15:09:10.998039Z 8 Query select version()
2021-10-14T15:09:13.055846Z 8 Quit
Id
列是连接 ID。因此,您可以找到与感兴趣的查询匹配的行并查找帐户的 Connect 行。
推荐阅读
- c++ - 在 C++ 中使用 2D 矢量时出现明显的内存泄漏
- excel - 为什么我的 Excel VBA 代码在执行 Range("K2:K" & LR).Calculate 函数时不断重启宏?
- python - 从 plotly 保存图像
- haskell - 函数的类型定义
- c# - 发送端口 Web HTTP 中的 BizTalk REST 获取方法
- bash - 在 gnu / linux 中,我如何将文件从初始字符串(foo)扫描到最终字符串(bar)
- python - Python 字节文字
- django - 删除设置为在表单集中删除的行并重复问题
- php - 带有两个按钮和 ajax 的 Sumbit 表单
- powershell - 将文件从父文件夹传输到多个子文件夹