我有七个 1G MySQL binlog 文件,我必须使用它们来检索一些“丢失”的信息。我只需要从日志中获取某些 INSERT 语句(例如,语句以“INSERT INTO table SET field1 =”开头)。如果我只运行一个 mysqlbinlog(即使每个数据库并使用 --short-form),我会得到一个数百兆字节的文本文件,这使得几乎不可能使用任何其他程序进行解析。
有没有办法从日志中检索某些 sql 语句?我不需要任何辅助信息(时间戳、自动增量 #s 等)。我只需要与某个字符串匹配的 sql 语句列表。理想情况下,我希望有一个仅列出这些 sql 语句的文本文件,例如:
INSERT INTO table SET field1='a';
INSERT INTO table SET field1='tommy';
INSERT INTO table SET field1='2';
我可以通过将 mysqlbinlog 运行到文本文件然后根据字符串解析结果来获得它,但是文本文件太大了。它只会使我运行的任何脚本超时,甚至无法在文本编辑器中打开。
提前感谢您的帮助。