• MySQL 慢查询日志配置与简析


    MySQL慢查询日志配置与简析

    By:授客 QQ1033553122

     

    <1> 查看是否开启慢查询日志

    SHOW VARIABLES LIKE 'slow%';

    说明:

    a. 如果slow_query_log参数值为OFF则表示没开启,如果为ON则表示开启

    b. slow_query_log_file 参数值为慢查询日志存放路径与名称(5.6及以上版本)。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

     

    <2> 查看慢查询时间阈值

    MySQL <wbr>慢查询日志配置与简析 

    说明:

    long_query_time参数值,单位默认为秒。如上图,查询耗时超过long_query_time参数值(默认10s)的查询会被定义为慢查询,且记录到慢查询日志

     

    <3>开启并配置慢查询

    永久生效

    找到mysql配置文件my.conf,编辑,在[mysqld]结点(如果没找到则手动新增)下新增以下语句

    [myslqd]

    ……

    slow-query-log = on

    slow_query_log_file = /var/log/mysql_slow_query.log

    long_query_time = 1

     

    注意:slow_query_log_file文件所在父级目录,mysql必须具备可写权限

     

    临时生效

    SET GLOBAL slow_query_log=ON;

     

    SET GLOBAL long_query_time = 2; 执行该命令后,SHOW VARIABLES LIKE 'long%';查看参数值还是原来的值,需要开启另一个新会话,才能看到修改后的配置。

     

    注:以上配置重启后失效

    <4> 重启mysql让配置生效

     

     

    <5> 查看慢查询日志

    tail -f /var/log/mysql_slow_query.log

    Time                 Id Command    Argument

    # Time: 161213 14:52:10

    # User@Host: testacc[testacc] @  [192.168.1.101]

    # Thread_id: 2  Schema: employees  QC_hit: No

    # Query_time: 68.258781  Lock_time: 0.000722  Rows_sent: 5000000  Rows_examined: 5000000

    use employees;

    SET timestamp=1481611930;

    select * from employee t1 limit 0, 5000000000;

     

    如上,我们可看到,sql:select * from employee t1 limit 0, 5000000000;”这条慢查询,查询耗时(Query_time)68.258781s,执行该语句时,锁定时间(Lock_time)0.000722秒,检索记录行数(Rows_examined):5000000条,返回记录数(Rows_sent)5000000条。

  • 相关阅读:
    自己动手编写一个网络图片爬虫
    使用maven构建项目的注意事项
    maven 构建一个web项目
    构建简单的Maven工程,使用测试驱动的方式开发项目
    像Maven一样构建java项目的目录,更好的管理java工程的源码
    Tomcat源码导入eclipse的步骤
    [HNOI2012] 矿场搭建
    UVA10641 Barisal Stadium 照亮体育馆
    CSP-J/S(NOIP PJ/TG) 游记
    [BalticOI 2011 Day1] Switch the Lamp On
  • 原文地址:https://www.cnblogs.com/shouke/p/10157574.html
Copyright © 2020-2023  润新知