Php 如何监视MySQL查询

Php 如何监视MySQL查询,php,mysql,logging,Php,Mysql,Logging,假设我浏览一个php页面,我如何知道运行的是什么数据库查询? 我想如果我能把所有的查询记录到一个.txt文件中,我的问题就可以解决了。我试图登录,但失败了。我只想知道发送给它的查询(sql字符串) 我正在使用WinXP和Apache。一种方法是进入my.cnf配置文件并激活常规日志。正如暗示的那样,它是性能杀手,因此永远不要在生产中激活它。不过,发展是完全可以的。我的笔记本电脑一直开着 # # * Logging and Replication # # Both location gets ro

假设我浏览一个php页面,我如何知道运行的是什么数据库查询? 我想如果我能把所有的查询记录到一个.txt文件中,我的问题就可以解决了。我试图登录,但失败了。我只想知道发送给它的查询(sql字符串)


我正在使用WinXP和Apache。

一种方法是进入my.cnf配置文件并激活常规日志。正如暗示的那样,它是性能杀手,因此永远不要在生产中激活它。不过,发展是完全可以的。我的笔记本电脑一直开着

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

一种方法是进入my.cnf配置文件并激活常规日志。正如暗示的那样,它是性能杀手,因此永远不要在生产中激活它。不过,发展是完全可以的。我的笔记本电脑一直开着

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

只需在查询之前将
mysql\u query()
中的字符串复制并粘贴到echo中即可

只需在查询之前将
mysql\u query()
中的字符串复制并粘贴到echo中即可

查找您的mysql日志文件目录-我的是:

C:\Program Files\MySQL\MySQL Server 5.0\data
查找上次更新的文件。应该是COMPUTER.log的名称-这将是默认的日志文件**-Mysql通常附带基本日志功能IIRC

否则,如前所述,在cnf文件中设置日志并重新启动Mysql服务

**在桌面上为自己创建一个该文件的快捷方式,您应该经常查看它


当文件太大时,删除它并重新启动Mysql服务,它将启动一个同名的新文件。

查找您的Mysql日志文件目录-我的是:

C:\Program Files\MySQL\MySQL Server 5.0\data
查找上次更新的文件。应该是COMPUTER.log的名称-这将是默认的日志文件**-Mysql通常附带基本日志功能IIRC

否则,如前所述,在cnf文件中设置日志并重新启动Mysql服务

**在桌面上为自己创建一个该文件的快捷方式,您应该经常查看它


当文件太大时,删除它并重新启动Mysql服务,它将启动一个同名的新文件。

你想知道什么???代码在哪里???@diEcho代码不相关,他想查看查询log@Ben:不是comment@WesleyMurch公平点,通常会…你想知道什么???代码在哪里???@diEcho代码不相关,他想查看查询log@Ben:不是comment@WesleyMurch公平点,通常会…我的mysql5.1-我找不到名为“data”的目录在硬盘上搜索名为/data的文件夹可能又长又慢。我的mysql5.1-我找不到名为“data”的目录在硬盘上搜索名为/data的文件夹可能会很长很慢。完成此配置后,需要重新启动mysql。或者,如前所述,您可以在运行时临时启用日志:只需运行mysql查询:“SET global general_log='ON'”,然后您的general_log_文件将记录所有查询。完成此配置后,需要重新启动mysql。或者,如前所述,您可以在运行时临时启用日志:只需运行mysql查询:“SET global general_log='ON'”,然后您的general_log_文件将记录所有查询。因为这是一种手动方式,只能在键入这些代码时使用,无法将其用于某些需要知道运行了哪些查询的大型现有代码。而且mysql已经有了这样的配置。因为这是一种手动方式,只能在您键入这些代码时使用,不能将其用于一些需要知道运行了哪些查询的大型现有代码。此外,mysql已经对此进行了配置。