MySQL:仅记录删除/创建命令

MySQL:仅记录删除/创建命令

有没有办法只记录某些 MySQL 操作?

我需要在生产服务器中启用它的日志,但仅限于删除/创建命令。不幸的是,记录所有内容的速度很慢,而我只需要这些特定的命令。

答案1

没有复杂的方法来记录 mysql 中的查询。您唯一能做的就是执行以下操作:

通用查询日志是 mysqld 正在执行的操作的通用记录。当客户端连接或断开连接时,服务器将信息写入此日志,并记录从客户端收到的每个 SQL 语句。当您怀疑客户端出现错误并想确切了解客户端向 mysqld 发送的内容时,通用查询日志非常有用。

http://dev.mysql.com/doc/refman/5.1/en/query-log.html

答案2

您可以尝试打开 binlog。它不会像常规日志那样严重影响您的性能 [仅记录更改数据的命令]。但如果您例如想要记录从哪个 ip 发出了给定的 drop 命令,它可能不适合您的需求。

答案3

有一个非常好的解决方法。只需将tail的输出传递给grep,例如:

$ tail -f /var/log/mysql/mysql.log | grep "update "

相关内容