MySQL二进制日志是否支持日志记录UID?
-
26-10-2019 - |
题
我想知道是否可以使用MySQL二进制日志记录对DB进行修改的用户的UID(用户名)。
这是审计目的所必需的。
那可能吗?
解决方案
这不是二进制日志的目的 - 二进制日志保留了对数据库所做的所有更改的记录,通常是出于复制和恢复的目的。
可能的选择可能是 一般查询日志, ,我相信这在某种程度上包括用户名。
这一切都假设您是在谈论实际连接用户名,而不是应用程序中的某些任意“用户”。
这是我刚刚从我的一个日志中提取的一个例子:
111130 13:46:50 130 Connect myusername@localhost on
130 Init DB mydatabase
130 Query SELECT somefields FROM sometable
130 Query SELECT somefields FROM sometable
130 Quit
如您所见,您可以获得连接用户名,然后使用该连接ID的任何内容(在这种情况下为130)是该连接上的该连接。
其他提示
二进制日志主要用于复制目的,除了数据更改外,它们不允许存储任何侧面信息。
如果要存储可查看的日志(因为二进制日志是以这种方式设计的,只能使用mySQL),则需要存储其他表格:来自主表 +用户 +时间的数据。
您也可以看看 查询日志
不隶属于 StackOverflow