• MySQL 慢查询


    开启慢查询日志

    在配置文件my.cnf或my.ini中在 [mysqld] 一行下面加入两个配置参数

    slow_query_log = on     #开启慢查询
    long_query_time=1       #设置慢查询时间 1 s
    log-slow-queries="D:/phpStudy/MySQL/data/slow_query.log"  #旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件hostname-slow.log
    slow_query_log_file="D:/phpStudy/MySQL/data/slow_query.log" #新版(5.6及以上版本)慢查询日志保存路径 未指定slow_query_log_file的情况下,会自动生成一个以主机名+‘slow'.log 的文件
    log-queries-not-using-indexes = on #开启记录没有使用索引查询语句

    sql 查看慢查询配置

    show status like 'slow_queries';    #慢查询的次数 (默认是慢查询时间10s)
    show variables like 'long_query_time' ;   //可以显示当前慢查询时间
    set long_query_time=1 ;    //可以修改慢查询时间 当前会话有效,永久有效请修改配置文件

    慢查询记录到日志

    在默认情况下,低版本的mysql不会记录慢查询,需要在启动mysql时候,指定记录慢查询才可以

    binmysqld.exe –log-slow-queries=D:/abc.log [低版本mysql5.0可以在my.ini指定]

    该慢查询日志在mysql5.0这个版本中时放在 mysql安装目录/data/下;

    针对 mysql5.5启动慢查询有两种方法

      ① binmysqld.exe - -safe-mode - -slow-query-log

      ②在my.ini 文件中配置 [mysqld] 添加slow-query-log = on # 开启慢查询这个功能

    可以通过  slow_query_log_file="日志存放位置"指定目录,默认存放在 mysql5.5.19是在my.ini 的 datadir=“目录” ;

    在mysql5.6中,默认是启动记录慢查询的,my.ini其中有一个配置项 slow-query-log=1;

    慢查询相关命令

    mysql> show variables like '%slow%';
    +---------------------+---------------------------------------+
    | Variable_name       | Value                                 |
    +---------------------+---------------------------------------+
    | log_slow_queries    | OFF                                   |
    | slow_launch_time    | 2                                     |
    | slow_query_log      | OFF                                   |
    | slow_query_log_file | D:phpStudyMySQLdataAdmin-slow.log |
    +---------------------+---------------------------------------+
    mysql> show variables like '%long%';
    +---------------------------------------------------+-----------+
    | Variable_name                                     | Value     |
    +---------------------------------------------------+-----------+
    | long_query_time                                   | 10.000000 |
    | max_long_data_size                                | 1048576   |
    | performance_schema_events_waits_history_long_size | 10000     |
    +---------------------------------------------------+-----------+
    mysql> show variables like '%min%';
    +--------------------------+-------+
    | Variable_name            | Value |
    +--------------------------+-------+
    | ft_min_word_len          | 4     |
    | min_examined_row_limit   | 0     |
    | query_cache_min_res_unit | 4096  |
    +--------------------------+-------+

    相关文章:MySQL中EXPLAIN解释命令 查看索引是否生效

  • 相关阅读:
    Maven笔记之面试题合集
    Maven笔记之核心概念及常用命令
    UML中的关系
    RocketMq核心概念
    linux安装rocketMq(包括安装maven,JDK)
    linux安装JDK,配置环境变量
    ASP.NET Core读取appsettings.json配置文件信息
    ASP.NET Core获取客户端IP地址
    ASP.NET Core根据环境切换NLog配置
    ASP.NET Core使用NLog记录日志
  • 原文地址:https://www.cnblogs.com/xuey/p/9533223.html
Copyright © 2020-2023  润新知