mysql - 将所有查询结果记录到 MySQL 中

标签 mysql sql logging

我有一个应用程序不断向 MySQL 数据库发送查询。我想通过仅修改mysql的配置来了解该应用程序发送的查询的结果,而不是应用程序本身(我无法控制它)。我怎样才能做到这一点?

最佳答案

你的问题的答案相当简单

如果您想要记录多个查询的输出(无论是整个 MySQL 客户端 session 还是 session 的一部分),使用 MySQL tee 命令将输出发送到这两个查询会更容易

<强>1。您的控制台和

<强>2。文本文件。

要启动日志记录过程,只需在 MySQL 客户端提示符下使用 tee 命令,如下所示:

mysql> tee /tmp/my.out;

该命令告诉 MySQL 将当前 MySQL 登录 session 的输入和输出记录到名为 /tmp/my.out 的文件中。

发出此 tee 命令后,您应该看到 MySQL 响应如下:

记录到文件/tmp/my.out 我刚刚用我的 MySQL 客户端(版本 5.0.x)验证了这一点,它的工作原理与广告中的一样。我输入的所有内容以及 MySQL 打印回给我的所有内容都已保存到我的日志文件中。

更新 1 由于您无权访问该应用程序,我能想到的唯一方法是拦截服务器收到的所有请求并将它们连同其内容一起转储到一个文件中回复。如果您希望这样做,这里有一个软件,可能会有所帮助 https://portswigger.net/burp/

关于mysql - 将所有查询结果记录到 MySQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37597739/

相关文章:

mongodb - 仅在 MongoDB 日志中记录错误

windows - 写入 Windows 安全日志

java - Logback 文件附加程序不会立即刷新

php - 选择mysql中最后插入的行和其他条件

php - 将特定格式的日期插入 MySQL 数据库

sql - 如何检索特定行的列值

sql - Oracle - 每日分区方法适合具有数百万行的表

php - jquery 模式对话框不发送来自 2 个表的多个数据

php - 如何在不使用 INNER JOIN 的情况下连接表?

c++ - 使用 Qt 从 SQLite 中选择