监视MySQL的所有执行语句(类似sqlserver)

有时我们使用了PHP框架,然后使用现成的ORM,省去了写SQL的麻烦,但又想看看到底生成了哪些SQL;或者下载了wordpress或druapl,想看看人家的SQL是怎么写的,这时如果能够监视MySQL的一举一动就好了,也不难,只需要稍微配置一下,再加上一个工具就行了。

首先,打开%MySQLDir%my.ini(linux下是my.cnf)加上这么一句

# 指定log的位置
log=C:/AppServ/MySQL/mysql.log
# 或者linux下 log=/var/log/mysql/mysql.log

这样,MySQL就会把所有操作记录都写在mysql.log这个文件里。接下来可以先清空这个文件,然后运行wordpress,再打开这个文件,就会看到所有执行的SQL了,不过这个有点麻烦,如果能实时查看就好了,linux下有tail命令 tail -f /var/log/mysql/mysql.log就行了,windows下没有相应的命令,这时就需要BareTail这个工具了,其实就是模拟tail操作的一个绿色可执行文件。打开后,浏览到之前定义的log文件,然后再运行wordpress,应该能看到BareTail里出现了SQL的操作记录,如下

demo

可以看到wordpress的数据库开销还是挺大的。

BareTail 免费下载地址:
http://www.baremetalsoft.com/baretail/

猜你喜欢

转载自weitao1026.iteye.com/blog/2373758
今日推荐