正则匹配 mysql binlog_mysql之binlog和各类日志介绍

作用:记录慢sql,执行比较慢的sql.

路径:mysql> show variables like '%slow_query_log%';

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句。(默认关闭)

注意:慢查询日志不会计算语句在开始执行之前等待锁的时间(initial slow query),mysqld只会从语句等待的锁释放掉,并开始执行开始计算时间(执行开始后的锁定时间会记录)。所以慢查询日志中的语句顺序和语句的发出顺序或者general log的顺序不同。

相关参数:

slow_query_log =1/0   ---开启关闭慢查询

long_query_time = 1 2 3  ---慢查询阀值.(单位是s)

log_queries_not_using_indexes:记录没有用索引的查询

参数:log_throttle_queries_not_using_indexes:#设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间

参数:min_examined_row_limit:要检查的行数大于等于N时 才记录为慢查询,前提是必须满足long_query_time和 log-queries-not-using-indexes约束。

参数:log_slow_admin_statements:管理语句是否记录

参数:log_slow_slave_statements:从库的语句执行是否记录.

慢日志信息例子:

# Time: 2018-10-18T21:56:45.731545+08:00

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

# Query_time: 3.059106  Lock_time: 0.000208 Rows_sent: 1048576  Rows_examined: 1048576

SET timestamp=1539871005;

select * from lbg;

分析:

Time:---sql执行完时间。

root[root] @ localhost     ---用户、发出sql的ip

Query_time:       ----sql执行时间

Lock_time:            ---查询等待锁的时间

Rows_sent            -----结果集大小

Rows_examined         ---扫描行数

SET timestamp        ----发出sql的时间

慢日志分析工具:  MySQLdumpSlow工具

-s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回 的记录数来排序,

ac、at、al、ar,表示相应的倒叙;

-t, 是top n的意思,即为返回前面多少条的数据;

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

比如:

统计用时最长的10条sql

mysqldumpslow  -s t -t 10 mysql-slow.log

执行频率最高的10条sql

mysqldumpslow  -s c -t 10 mysql-slow.log

例子:

[root@lbg logs]# mysqldumpslow  -s t -t 10 mysql-slow.log

Reading mysql slow query log from mysql-slow.log

Count: 1  Time=18.34s (18s)  Lock=0.00s (0s)  Rows=1048576.0 (1048576), []@[]

throttle:         N 'S' warning(s) suppressed.

Count: 1  Time=3.06s (3s)  Lock=0.00s (0s)  Rows=1048576.0 (1048576), root[root]@localhost

select * from lbg

Count: 4  Time=0.01s (0s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost

insert into lbg select * from lbg

Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 6.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值