• ADADADADAD

    mysqldumpslow工具怎么用[ mysql数据库 ]

    mysql数据库 时间:2024-11-26 22:15:00

    作者:文/会员上传

    简介:

    mysqldumpslow工具开启慢查询查看慢查询相关参数slow_query_log:慢查询是否开启slow_query_log_file:慢查询文件位置long_query_time:超过多长时间记录log_queries_not_using_i

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    mysqldumpslow工具

    开启慢查询

    查看慢查询相关参数

    slow_query_log:慢查询是否开启

    slow_query_log_file:慢查询文件位置

    long_query_time:超过多长时间记录

    log_queries_not_using_indexes:没有使用索引的sql

    mysql> show variables like 'slow_query%';

    +---------------------+----------------------------+

    | Variable_name | Value |

    +---------------------+----------------------------+

    | slow_query_log | ON|

    | slow_query_log_file | /var/lib/mysql/db-slow.log |

    +---------------------+----------------------------+

    2 rows in set (0.01 sec)

    mysql> show variables like 'long_query_time';

    +-----------------+----------+

    | Variable_name | Value|

    +-----------------+----------+

    | long_query_time | 2.000000 |

    +-----------------+----------+

    1 row in set (0.00 sec)

    mysql> show variables like 'log_queries_not%';

    +-------------------------------+-------+

    | Variable_name| Value |

    +-------------------------------+-------+

    | log_queries_not_using_indexes | OFF |

    +-------------------------------+-------+

    1 row in set (0.00 sec)

    设置方法

    方法1:全局变量设置

    mysql> set global slow_query_log='ON';

    mysql> set global slow_query_log_file='/var/lib/mysql/db-slow.log';

    mysql> set global long_query_time=2;

    mysql> set global log_queries_not_using_indexes=1;

    方法2:配置文件设置

    修改配置文件my.cnf在[mysqld]下加入如下内容

    slow_query_log = ON

    slow_query_log_file = /var/lib/mysql/db-slow.log

    long_query_time = 2

    log_queries_not_using_indexes=1

    修改后重启mysql服务

    测试

    mysql> select sleep(3);

    [root@db ~]# tail -f /var/lib/mysql/db-slow.log

    # Time: 2018-12-25T08:00:48.199670Z

    # User@Host: root[root] @ localhost [] Id: 2443797

    # Query_time: 3.000198 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0

    SET timestamp=1545724848;

    select sleep(3);

    [root@db ~]# mysqldumpslow --help

    Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]

    Parse and summarize the MySQL slow query log. Options are

    --verboseverbose

    --debug debug

    --help write this text to standard output

    -v verbose

    -d debug

    -s ORDERwhat to sort by (al, at, ar, c, l, r, t), 'at' is default

    al: average lock time

    ar: average rows sent

    at: average query time

    c: count

    l: lock time

    r: rows sent

    t: query time

    -r reverse the sort order (largest last instead of first)

    -t NUM just show the top n queries

    -a don't abstract all numbers to N and strings to 'S'

    -n NUM abstract numbers with at least n digits within names

    -g PATTERN grep: only consider stmts that include this string

    -h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard),

    default is '*', i.e. match all

    -i NAME name of server instance (if using mysql.server startup script)

    -l don't subtract lock time from total time

    常用参数

    -s 排序方式 后面跟排序列

    al 平均锁定时间

    ar 平均返回记录时间

    at 平均查询时间(默认)

    c 计数

    l 锁定时间

    r 返回记录

    t 查询时间

    -r 反向排序,最大的在最后

    -t 后面跟数字,返回行数

    -a 不将所有的数字抽象为N,字符串抽象为S

    -n 后面跟数字,在名称中至少有n个数字抽象为数字

    -g 正则后边可以写一个正则匹配模式,大小写不敏感的

    案例:

    1.根据计数返回5条记录

    mysqldumpslow -s c -t 5 /var/lib/mysql/db-slow.log

    2.根据返回记录返回5条记录

    mysqldumpslow -s r -t 5 /var/lib/mysql/db-slow.log

    3.根据查询时间返回5条记录

    mysqldumpslow -s t -t 5 /var/lib/mysql/db-slow.log

    4.根据计数统计,不抽象数字及字符串

    mysqldumpslow -s c -a -t 5 /var/lib/mysql/db-slow.log

    mysqldumpslow工具怎么用.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqldumpslow