首页 > 解决方案 > MySQL Workbench 通用日志。当他们通过网络进行查询时,我们如何识别特定用户?

问题描述

在 MySQL 工作台下,我有多个用户使用 rest API 通过网络连接到数据库。

每当他们对数据库进行更改时,通用日志仅报告数据库中正在插入或更改的内容,但不报告是谁进行了更改。

例如,如果我尝试在 table 中插入一些值person123,它只会记录以下内容:

INSERT INTO  person123 (customerid, firstname, lastname) VALUES ('ya5', 
'yes5', 'yay5')

日志图像

如您所见,它只记录插入的内容,但不让我们知道是谁进行了查询。

标签: mysqlsqlmysql-workbench

解决方案


通用日志仅报告数据库中正在插入或更改的内容,但不报告更改的来源。

在常规日志中,您可以看到整个会话。喜欢

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 行。


推荐阅读