监视MySQL中的所有SQL查询

时间:2020-01-09 10:45:22  来源:igfitidea点击:

Microsoft的SQL Server有一个称为Profiler的工具,我们可以使用该工具监视命中数据库的每个SQL查询。这对于程序员和数据库管理员对应用程序生成的确切查询进行故障排除非常有用。

频繁使用MySQL之后,这是我想知道如何做的第一件事。我们还怎么能看到WordPress或者phpBB生成的实际SQL代码?

我们需要做的第一件事是在MySQL中打开查询日志记录。请注意,这仅应在开发中完成,这实际上会减慢将每个查询记录到文件的速度。

查找并打开MySQL配置文件,通常是Ubuntu上的/etc/mysql/my.cnf。查找"记录和复制"部分

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
log = /var/log/mysql/mysql.log

只需取消注释log变量即可打开日志记录。使用以下命令重新启动MySQL:

sudo /etc/init.d/mysql restart

现在,我们准备开始监视查询的出现。打开一个新终端,然后运行此命令滚动日志文件,并在必要时调整路径。

tail -f /var/log/mysql/mysql.log

现在运行应用程序。我们会在终端窗口中看到数据库查询开始通过。