在MySQL Bin日志中搜索查询

在MySQL Bin日志中搜索查询,mysql,binlog,mysqlbinlog,Mysql,Binlog,Mysqlbinlog,可以为特定查询查询mysql bin日志吗?例如,假设我想知道在过去一个小时内是否有人进行了特定的查询(如“Update tableX where userName='bob')。我只想看看最近是否运行了特定的查询…..也许可以帮助您。使用mysqlbinlog-nix或mysqlbinlog.exe-windows $bash>mysqlbinlog mysql_bin.log > mysql_bin.txt 转换后,你可以在MySqLybin中搜索DML。TXT 实际上,更新不

可以为特定查询查询mysql bin日志吗?例如,假设我想知道在过去一个小时内是否有人进行了特定的查询(如“Update tableX where userName='bob')。我只想看看最近是否运行了特定的查询…..

也许可以帮助您。

使用mysqlbinlog-nix或mysqlbinlog.exe-windows

$bash>mysqlbinlog mysql_bin.log > mysql_bin.txt

转换后,你可以在MySqLybin中搜索DML。TXT

实际上,更新不是查询。选择是一个查询。实际上我已经读过了,并且只看到了搜索和结束时间搜索之类的选项。我希望避免将整个千兆字节的bin日志写入磁盘,然后必须对它进行格式化。考虑向ORIG提供解释。最后一篇文章。虽然信息可能有点模糊,但您的答案有点不清楚。请向OP解释为什么这会有帮助。此命令将只返回改变值的查询。进一步的灰色化可能会将结果限制为表名,甚至限制为具有特定关键字的同一表。运行可能需要一些时间,但会限制在没有磁盘使用的情况下,会产生错误的结果。
mysqlbinlog ${1} |grep -i  'update\|insert\|delete\|replace\|alter' | tr ‘[A-Z]’ ‘[a-z]’|sed -e '/*/d' | sort | uniq -c | sort -nr