php - 通过以下方式检测 MySQL 中的直接更改

标签 php mysql triggers

我有一个与 Mysql 对话的 PHP 应用程序。该应用程序使用用户名和密码连接到 MySQL。任何通过应用程序对 MySQL 数据库进行更改的人都可以记录他们的用户名,这可以在以后进行审核。然而,有时我们需要从后台做一些操作,即直接进入数据库。我想知道的是,是否可以记录有关用户直接登录数据库(可能使用 phpMyAdmin)并对特定表进行更改的信息,以及以后如何查看这些信息?此外,如果直接通过后端对特定表进行更改,是否有可能触发一些触发器,如果​​从前端进行相同的更改,即使用 PHP 应用程序,那么这些触发器不会被触发?

-提前致谢

最佳答案

  1. 是的,您可以通过在需要跟踪的表上设置大量触发器来记录对数据库所做的更改。您可以使用 MySql 的 USER() 函数来获取当前用户名。
  2. 使用已经提到的 USER() 函数,您可以确定是否需要记录事件(我假设您在 php 脚本和 phpMyAdmin 中使用了不同的用户)

关于php - 通过以下方式检测 MySQL 中的直接更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6546505/

相关文章:

php - 如何在 Laravel 中获取双请求名称到数组?

php - 如何只重写特定的url而不影响其他文件

php - Codeigniter RESTful API

mysql - 如何在 Wordpress 中获取新提交帖子上方的最新评论帖子?

PHP while-for 嵌套循环不显示所有 MySQL 结果

php - 尝试插入同一个表并选择相同数据的最后一条记录时的 MySql 触发器

php - 在 PHP 中根据 USER ID 生成自己的页面

mysql - celery 、Django 和 PyMySQL

mysql - 如何在 CSV 导入(MariaDB/MySQL)上生成串联主键?

MySQL 错误 1442 : Cannot update a table in a trigger/stored procedure