我应该如何审核 MySQL 表中的更改(使用 MySQL 4)?

2021-11-30 00:00:00 mysql audit

我被要求审计 MySQL 表中的任何/所有更改.有谁知道有什么工具可以帮助我做到这一点,还是我需要编写自己的解决方案?

I have been asked to audit any/all changes in a MySQL table. Does anyone know of any tools out there to help me do this or do I need to write my own solution?

如果我自己编写审计,我最初的想法是制作一个单独的表并在 PHP 代码中构建一串更改.类似于fieldname1 -> oldvalue | fieldname2 -> oldvalue, ...".如果您发现此方法存在重大问题,请告诉我.

If I write my own audting, my initial thought it to make a separate table and build a string of changes in the PHP code. Something like "fieldname1 -> oldvalue | fieldname2 -> oldvalue, ...". If you see a major problem with this method, please let me know.

推荐答案

捕获对数据库表的所有更改的唯一可靠方法是在服务器上使用触发器.修改您自己的代码以审核更改的风险是无法捕获来自其他应用程序/用户等的更改.

The only sure-fire way to capture all changes to a DB table is to use triggers on the Server. The risk of modifing your own code to audit the changes is that changes from another application/user etc will not be captured.

话虽如此,我不确定 MySQL 4 是否支持触发器.

Having said that, I'm not sure that MySQL 4 had trigger support.

相关文章