监视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的操作记录,如下

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

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

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

This entry was posted in DataBase, PHP and tagged , . Bookmark the permalink.

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

  1. cole says:

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

  2. Pingback: 监视MySQL的所有执行语句(类似sqlserver) « Mr.LP's Blog - 低调做人,认真做事!

  3. 砌块机 says:

    学习了 很不错

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

*
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