代码改变世界

linux、windows平台下如何监控mysql执行的sql语句

2020-04-16 10:38  Tony、  阅读(741)  评论(0编辑  收藏  举报

跟踪监控MYSQL执行的sql语句的方法:

linux平台

监控mysql执行的sql语句
为了做好配合开发做性能和功能测试,方便监控正在执行的sql语句,
可以在/etc/mysqld中添加如下:
log =/usr/local/mysql/var21005/mysql.log
就可以使用:
tail -f mysql.log
来监控了  www.fly810.com  

如果需要监控慢查询可以添加如下内容:

slow_query_log = on
slow-query-log-file=/usr/local/application/mysql-5.7.35/sqlqueries/slow_query.log
long_query_time=1


windows平台

一windows平台下为例:

 

修改my.ini,在mysqld下添加log一行,

[mysqld]

log = "D:/tmp/mysql_log/mysql_log.sql"

 

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

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

  1.  
    # 指定log的位置
  2.  
    log=C:/AppServ/MySQL/mysql.log
  3.  
    # 或者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/