Linux下Mysql 开启慢查询 统计sql语句执行效率

发布时间:2016-03-02 13:12:20编辑:丝画阁阅读(816)

1.修改my.cnf文件

my.cnf是mysql的配置文件,在这里面你可以找到你一些mysql的配置文件,根据个人需要进行定制。系统默认的是在/etc/mysql 文件夹下,如果在这路径中没有找的话,你可以采用ps -ef |grep mysql  来查看mysql的安装目录,运行目录和日志目录。

查找my.cnf 文件中下面这段配置

    # Here you can see queries with especially long duration

    #log_slow_queries        = /var/log/mysql/mysql-slow.log

    #long_query_time = 10

    #log-queries-not-using-indexes

系统默认是不启动这个慢查询的,所以把前面这两段注释去掉就好,然后自定义统计的时间,单位是秒(s)级别的·····

各个参数的具体含义:

 

    slow-query-log = on  #开启MySQL慢查询功能

    

    slow_query_log_file = /data/mysql/127-slow.log  #设置MySQL慢查询日志路径

    

    long_query_time = 5  #修改为记录5秒内的查询,默认不设置此参数为记录10秒内的查询

    

    log-queries-not-using-indexes = on  #记录未使用索引的查询

 

然后是退出保存.

重启mysql

 

    service mysqld restart

2.在mysql控制台中进行修改

首先是进入mysql

    mysql -u 用户名-p

    #提示输入密码,然后输入相应的密码

    show variables like '%slow%';   #查看MySQL慢查询是否开启

    

    

    set global slow_query_log=ON;   #开启MySQL慢查询功能

    

    

    show variables like "long_query_time";  #查看MySQL慢查询时间设置,默认10秒

    

    

    set global long_query_time=5;  #修改为记录5秒内的查询

    

    

    select sleep(6);  #测试MySQL慢查询

    

    show variables like "%slow%";  #查看MySQL慢查询日志路径

    

    show global status like '%slow%';  #查看MySQL慢查询状态

关键字