MySQL 和用户级日志记录

MySQL 和用户级日志记录

我一直在研究如何只在 MySQL 中记录某些用户的活动。我发现可以为所有用户启用或禁用日志记录,但使用数据库的某个服务确实很多查询,因此我只想记录特定的用户。

Google 告诉我可以设置一个标志来启用禁用日志记录,但是,我无法修改服务数据库连接代码,并且要求每个用户在执行任何操作之前启用日志记录可能并不像我想要的那样可靠。

那么,您知道是否有任何方法可以仅记录一组用户查询吗?

谢谢 !

答案1

安装 mySQL 代理并在那里进行日志记录。

答案2

较新版本的 mysql 支持将日志记录到表中。这可能会被以有趣的方式滥用:

  • 编写一个触发器来从日志表中删除与您感兴趣的监控用户不对应的行。
  • 根据用户名对日志表进行分区。定期清空您不感兴趣的监控用户的分区。

答案3

您可以全局启用日志记录,然后修改连接代码以禁用您不想监控的高负载用户的日志记录。在我的环境中,我可以想到几种最有效的情况,因此它也可能适合您。

相关内容