我有一个与Mysql对话的PHP应用程序。应用程序使用用户名和密码连接到MySQL。任何通过应用程序对MySQL数据库进行更改的人都可以记录其用户名,以后可以对其进行审核。但是,有时我们需要从后端进行一些操作,即直接进入数据库。我想知道的是,可以直接记录用户登录数据库的信息(可能使用phpMyAdmin),并对特定表进行更改以及以后如何查看这些信息?此外,是否可能直接通过后端对特定表进行更改,然后触发一些触发器,如果从前端进行相同的更改,即使用PHP应用程序,则不触发这些触发器? / p>
- 提前谢谢
答案 0 :(得分:1)
答案 1 :(得分:0)
您的MySQL服务器必须配置为保存日志。 更多详情请点击此处:MySQL Server Logs。
我相信这会对你有帮助。
答案 2 :(得分:0)
设置另一张表
query_log
ql_id id user_id fk 查询小文本 日期日期时间
插入query_log set user_id ='user_id', query ='query', date ='date'
答案 3 :(得分:0)
如果您只有一个审核机制并且它尽可能靠近数据库,那么您会好得多。
因此,使用触发器来处理所有事情。
让你的应用程序设置一个会话变量,比如@APP_USER =“kabir”。设置触发器(插入/更新/删除)以使用@APP_USER(如果存在)并按照谢尔盖建议回退到MySQL的USER()函数。
我们创建了一个小脚本,通过查看每个表的架构来生成触发器。它节省了大量时间,但您必须记住在修改架构时重新生成触发器。
祝你好运。