美文网首页
mysql慢查询 , linux 优化加快访问速度 ,解决cpu

mysql慢查询 , linux 优化加快访问速度 ,解决cpu

作者: 端木安玉 | 来源:发表于2019-08-14 16:57 被阅读0次

    问题背景

    今日公司网站cpu 突然跑满 经过一顿操作 发现是mysqld 导致cpu跑满, 但是不知道的是什么sql语句导致的 一下是个人解决这个问题的方法 仅供参考

    一,为什么要开启慢查询

    数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷了。mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句,分析原因,加以优化。

    二,开启mysql的慢查询

    方法1,修改mysql的配置文件
    mysql的配置文件位置 用 whereis mysqld 查询,可显示出位置

    long_query_time = 2   //查询时间超过2秒记录
    log-slow-queries = /usr/local/mysql/mysql-slow.log   // 记录的文件 目录以及名称
    

    方法2,用命令开启慢查询

    mysql> show variables like "%long%";         //查看一下默认为慢查询的时间10秒  
    +-----------------+-----------+  
    | Variable_name   | Value     |  
    +-----------------+-----------+  
    | long_query_time | 10.000000 |  
    +-----------------+-----------+  
    1 row in set (0.00 sec)  
      
    mysql> set global long_query_time=2;          //设置成2秒,加上global,下次进mysql已然生效  
    Query OK, 0 rows affected (0.00 sec)  
      
    mysql> show variables like "%slow%";          //查看一下慢查询是不是已经开启  
    +---------------------+---------------------------------+  
    | Variable_name       | Value                           |  
    +---------------------+---------------------------------+  
    | log_slow_queries    | OFF                             |  
    | slow_launch_time    | 2                               |  
    | slow_query_log      | OFF                             |  
    | slow_query_log_file | /usr/local/mysql/mysql-slow.log |  
    +---------------------+---------------------------------+  
    4 rows in set (0.00 sec)  
      
    mysql> set slow_query_log='ON';                        //加上global,不然会报错的。  
    ERROR 1229 (HY000): Variable 'slow_query_log' is a GLOBAL variable and should be set with SET GLOBAL  
    mysql> set global slow_query_log='ON';            //启用慢查询  
    Query OK, 0 rows affected (0.28 sec)  
      
    mysql> show variables like "%slow%";              //查看是否已经开启  
    +---------------------+---------------------------------+  
    | Variable_name       | Value                           |  
    +---------------------+---------------------------------+  
    | log_slow_queries    | ON                              |  
    | slow_launch_time    | 2                               |  
    | slow_query_log      | ON                              |  
    | slow_query_log_file | /usr/local/mysql/mysql-slow.log |  
    +---------------------+---------------------------------+  
    4 rows in set (0.00 sec)  
    

    set global general_log='ON';

    //开启执行sql日志

      #show variables like "%log%"; 
    

    //查看日志是否开启

    相关文章

      网友评论

          本文标题:mysql慢查询 , linux 优化加快访问速度 ,解决cpu

          本文链接:https://www.haomeiwen.com/subject/koqnjctx.html