我如何判断哪个mysql用户在mysql中编辑了一个表

我如何判断哪个mysql用户在mysql中编辑了一个表,mysql,phpmyadmin,innodb,Mysql,Phpmyadmin,Innodb,我有一个数据库,其中有多个用户可以在phpMyAdmin中查看/编辑 某个用户通过phpMyAdmin编辑了给定的行。有没有办法让我知道是哪个用户进行了编辑 注意:我们没有触及该行,因为该特定编辑可以添加一个触发器,该触发器使用USER()捕获信息 但这意味着每个用户在使用phpmyadmin时都必须单独连接,而不是使用一些常见的登录。可以添加一个触发器,该触发器使用user()捕获信息。 但这意味着每个用户在使用phpmyadmin时必须单独连接,而不是使用一些常见的登录。要了解之前哪个mys

我有一个数据库,其中有多个用户可以在phpMyAdmin中查看/编辑

某个用户通过phpMyAdmin编辑了给定的行。有没有办法让我知道是哪个用户进行了编辑


注意:我们没有触及该行,因为该特定编辑可以添加一个
触发器
,该触发器使用
USER()
捕获信息


但这意味着每个用户在使用phpmyadmin时都必须单独连接,而不是使用一些常见的登录。

可以添加一个
触发器
,该触发器使用
user()捕获信息。


但这意味着每个用户在使用phpmyadmin时必须单独连接,而不是使用一些常见的登录。

要了解之前哪个mysql用户执行了更改,可能已经太晚了

如果在发生更改时碰巧启用了慢速查询日志,那么可能会有一条记录,记录是哪个mysql用户执行了更改

对于某些MySQL实例,还有一个可选的审计插件功能,但由于这需要安装第三方插件,而且我所知道的所有审计插件实现都不容易管理,因此几乎可以肯定的是,您没有这种功能

在这两种情况下,您最好希望知道是哪个mysql用户执行了更改


但是phpmyadmin通常被配置为作为一个mysql用户进行连接,而不管是谁在操作它。因此,即使您有日志记录,这个mysql用户是一个共享用户,也无法确定是哪个人执行了该操作。

要了解之前哪个mysql用户执行了更改,可能已经太晚了

如果在发生更改时碰巧启用了慢速查询日志,那么可能会有一条记录,记录是哪个mysql用户执行了更改

对于某些MySQL实例,还有一个可选的审计插件功能,但由于这需要安装第三方插件,而且我所知道的所有审计插件实现都不容易管理,因此几乎可以肯定的是,您没有这种功能

在这两种情况下,您最好希望知道是哪个mysql用户执行了更改


但是phpmyadmin通常被配置为作为一个mysql用户进行连接,而不管是谁在操作它。因此,即使您有日志记录,该mysql用户也是一个共享用户,也无法确定是哪个人执行了该操作。

否。如果您想知道这样的信息,需要显式存储该用户的id。我怀疑您是否可以使用PHPMyAdmin执行此操作。但是,我可能弄错了。可能对你目前的困境没有帮助,但如果你希望在将来捕获这些信息,你可能会考虑保留一个或@e_I_pi,IIRC,二进制日志不会记录用户。是的,我不确定,我自己没有使用过它们(我更喜欢MSSQL和PostgreSQL),但任何日志记录都有助于在应用程序之间形成书面记录,从而推断或推断出谁/什么/什么时候/如何。如果你想知道这样的信息,你需要显式地存储用户的id。我怀疑你能用PHPMyAdmin做到这一点。但是,我可能弄错了。可能对你目前的困境没有帮助,但如果你希望在将来捕获这些信息,你可能会考虑保留一个或@e_I_pi,IIRC,二进制日志不会记录用户。是的,我不确定,我自己没有使用过它们(我更喜欢MSSQL和PostgreSQL),但是,任何日志记录都有助于在应用程序之间形成书面记录,这可能导致推断或推断谁/什么/什么时候/如何这是一个好的答案,但我不同意您所说的phpMyAdmin通常配置为使用共享帐户的部分。这是数据库管理员的功能,而不是phpMyAdmin;我维护或定期使用的所有数据库都有每个用户的单独帐户,而不是共享访问。也许我只是被好的政策宠坏了,这个细节不应该从你的精彩回答中拿走任何东西,但我确实想插嘴,在这上面加上我的两分钱。@IsaacBennetch,你不认为大多数phpMyAdmin安装都使用配置身份验证模式在
Config.inc.php
中硬编码一个用户/密码,这样任何可以在浏览器中打开phpMyAdmin的人都会自动连接到MySQL吗?我希望不会,但我承认,人类做坏事的能力不断超出我的预期。这不是默认设置,因此必须有人愿意更改它,然后他们将为任何可以猜到其IP地址的人打开数据库。它可能运行在intranet主机上,因此外部网络无法访问它。因此,外部人员访问其数据库的风险很低。但OP所问的问题是,确定哪些人执行了一项特定的更改,这些人可能都拥有授权访问权限。如果人们共享一个MySQL登录(通过auth_类型配置,或者即使他们使用默认auth_类型但共享一个登录),那么关于执行给定更改的用户的信息就会丢失。这是一个很好的答案,但我不同意您所说的phpMyAdmin通常配置为使用共享帐户的部分。这是数据库管理员的功能,而不是phpMyAdmin;我维护或定期使用的所有数据库都有每个用户的单独帐户,而不是共享访问。也许我只是被好的政策宠坏了,这个细节不应该从你的精彩回答中拿走任何东西,但我确实想插嘴,在这上面加上我的两分钱。@IsaacBennetch,你不认为大多数phpMyAdmin安装都使用配置身份验证模式在
Config.inc.php
中硬编码一个用户/密码,这样任何可以在浏览器中打开phpMyAdmin的人都会自动连接到MySQL吗?我希望不会,但我承认,人类做坏事的能力不断超出我的预期。那不是诽谤