我有一个拥有多个用户的数据库,他们可以在phpMyAdmin中查看/编辑。
其中一个用户通过phpMyAdmin编辑了一行。有没有办法让我知道哪个用户进行了编辑?
注意:自从特定编辑
以来,我们没有触及该行答案 0 :(得分:3)
可以添加TRIGGER
来捕获USER()
的信息。
但是这意味着每个用户在使用phpmyadmin时都必须单独连接,而不是使用一些常用的登录。
答案 1 :(得分:2)
以前获取有关哪个mysql用户执行了更改的信息可能为时已晚。
如果您在更改发生时碰巧启用了慢查询日志,则可能记录了哪个mysql用户执行了更改。
对于某些MySQL实例,还有一个可选的审计插件功能,但由于这需要安装第三方插件,而且我所知道的所有审计插件实现都不易管理,因此它不容易管理。几乎可以肯定,你没有这个。
在任何一种情况下,您最希望的是知道哪个mysql用户执行了更改。
但是phpmyadmin通常被配置为作为一个mysql用户连接,无论哪个人正在操作它。所以,即使你有日志记录,这个mysql用户也是一个共享用户,人类做出这个动作是不确定的。