2016-09-29 75 views
0

我正在处理一个很多人参与的大项目。我们使用相同的MySQL数据库进行开发。问题是我怎么能知道谁有做了什么(插入,更新,删除,运行查询等等)在数据库上,什么时候他们做完了,他们做了什么。假设每个人都有不同的帐户。在mysql中记录用户操作

回答

1

您可以使用通用日志记录。

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

要打开它,设置在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

+0

好的。我认为这应该很好。 –

1

您必须遍历所有的函数或过程,并使它们适应插入/更新“最后一个编辑器”标识符,并为该表添加该标识符的字段。没有简单的方法。

+0

如果什么有人执行纯查询,如更新表中的某些行。我可以知道谁已经运行了该查询吗?那是什么问题? 我想在这里做的是记录用户在处理数据库时的每个动作。 –

+0

这里相当彻底的检查:http://dba.stackexchange.com/questions/112128/how-to-know-which-user-update-insert-or-delete-in-mysql-database –