在 mysql 中记录用户操作

Logging user action in mysql

我正在处理一个有很多人参与的大项目。我们使用相同的 MySQL 数据库进行开发。问题是我如何知道谁在数据库上做了某事(插入、更新、删除、运行 查询等...),他们什么时候做了什么以及做了什么他们完成了吗?假设每个人都有不同的帐户。

您必须 运行 完成所有函数或过程,并使它们适应 insert/update 一个 "last editor" 标识符,并在您的表中为该标识符添加一个字段。没有简单的方法解决这个问题。

您可以使用常规日志记录。

它将记录客户端连接、断开连接和数据库查询 运行 的详细信息。

要打开它,请在 my.cnf 中设置以下 属性:

general_log_file = /path/to/query.log
general_log      = 1

或者,您可以从控制台进行设置:

SET global general_log = 1;

参考:http://dev.mysql.com/doc/refman/5.7/en/query-log.html