在mysql中记录用户操作

在mysql中记录用户操作,mysql,database,system,Mysql,Database,System,我正在从事一个有很多人参与的大项目。我们使用相同的MySQL数据库进行开发。问题是我如何知道谁在数据库上做了什么(插入、更新、删除、运行查询等),他们什么时候做的,他们做了什么。假设每个人都有不同的账户 您必须运行所有函数或过程,并调整它们以插入/更新“last editor”标识符,并将该标识符的字段添加到表中。这不是一个简单的方法。您必须运行所有函数或过程,并调整它们以插入/更新“最后一个编辑器”标识符,并将该标识符的字段添加到表中。没有简单的解决方法。您可以使用常规日志记录 它将记录客户端

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

您必须运行所有函数或过程,并调整它们以插入/更新“last editor”标识符,并将该标识符的字段添加到表中。这不是一个简单的方法。

您必须运行所有函数或过程,并调整它们以插入/更新“最后一个编辑器”标识符,并将该标识符的字段添加到表中。没有简单的解决方法。

您可以使用常规日志记录

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

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

general_log_file = /path/to/query.log
general_log      = 1
或者,您可以从控制台进行设置:

SET global general_log = 1;

请参阅:

您可以使用常规日志记录

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

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

general_log_file = /path/to/query.log
general_log      = 1
或者,您可以从控制台进行设置:

SET global general_log = 1;

请参阅:

如果有人执行纯查询(如更新表中的某些行),该怎么办。我能知道是谁进行了那个查询吗?那是什么问题?这里我想做的是记录用户在使用数据库时的每一个操作。这里对这一点进行了彻底的检查:如果有人执行一个纯查询,比如更新表中的某些行,该怎么办。我能知道是谁进行了那个查询吗?那是什么问题?我想在这里做的是记录用户在使用数据库时的每一个动作。这里对这一点进行了非常彻底的检查: