zoukankan      html  css  js  c++  java
  • Mysql slow query log

    如何开启mysql的慢查询

    Linux查看mysql 安装路径

    一、查看文件安装路径


    由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。

    这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径
    在终端输入:

    whereis mysql

    回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)

    1. [root@localhost ~]# whereis mysql
    2. mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
    复制代码

    二、查询运行文件所在路径(文件夹地址)

    如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以mysql为例):

    which mysql

    终端显示:

    [root@localhost ~]# which mysql
    /usr/bin/mysql

    方法一:修改mysql的my.cnf文件

    Linux:

    在mysql配置文件/etc/my.cnf中[mysqld]选项下增加:

    vi /etc/my.cnf

    log-slow-queries=/usr/local/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)
    long_query_time=1 (记录超过的时间,默认为10s)
    log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
    log-long-format (如果设置了,所有没有使用索引的查询也将被记录)

    Windows:

    在my.ini的[mysqld]添加如下语句:
    log-slow-queries = D:wwwmysqllogmysqlslowquery.log
    long_query_time = 1(其他参数如上)

    保存后重启mysql即可加载配置

    注意
    llog-slow-queries=/usr/local/mysql/slowquery.log 为慢查询日志存放的位置,一般这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录;
    long_query_time=1中的1表示查询超过两秒才记录;

    方法二:命令方式

    cd /usr/local/mysql/bin

    mysql -u root -p

    enter password

    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)

  • 相关阅读:
    Vue路由机制
    谷歌浏览器打不开应用商店的解决方法
    Vue报错——Component template should contain exactly one root element. If you are using vif on multiple elements, use velseif to chain them instead.
    Vue.js学习之——安装
    Vue使用axios无法读取data的解决办法
    关于localstorage存储JSON对象的问题
    2013年整体计划
    个人喜欢的警语收集
    Linux防火墙的关闭和开启
    Flex修改title 转载
  • 原文地址:https://www.cnblogs.com/kenwong/p/4673616.html
Copyright © 2011-2022 走看看