监视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/

转自: http://blog.pianzhizhe.com/archives/57

本文固定链接: http://fatjames.extjs.org.cn/archives/325 | 吴小强的博客

该日志由 Xiaoqiang.Wu 于2009年06月19日发表在 DataBase, PHP 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 监视MySQL的所有执行语句(类似sqlserver) | 吴小强的博客
关键字: , ,

监视MySQL的所有执行语句(类似sqlserver):目前有2 条留言

  1. 沙发
    cole:

    使用 mysqladmin proce -i1(-i 后接刷新秒数)也可以看实时的sql语句

    2009-07-02 2:15 下午 [回复]

发表评论

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

快捷键:Ctrl+Enter