我想要特定用户/连接的审计日志,而不是应用程序本身。每当客户端使用特定凭据手动连接到服务器时,我都希望启用查询日志和二进制日志。
这可能吗?我该如何仅为该用户/连接激活日志,而忽略应用程序运行的语句?
谢谢,
沃尔特
答案1
没有任何选项可以控制这种粒度。通用查询日志要么打开,要么关闭。二进制日志可以包含或排除特定数据库,但仅此而已。
要获取这些信息,最好的办法可能是使用以下工具来追溯解析日志文件:mysqlsla
或者mysql-log-filter
但请注意,您可能已经注意到,通用查询日志可能是生产环境中 I/O 争用的原因。
答案2
我所做的是启用完整日志记录并使用 OSSEC 仅对我感兴趣的事情进行过滤/警报。
OSSEC 链接:http://www.ossec.net 配置 MySQL 日志:http://www.ossec.net/wiki/SQL_Logging#MySQL_Logging