您的当前位置:首页 --> MYSQL教程 --> MySQL中按时间获取慢日志信息的方法
MYSQL教程   MySQL中按时间获取慢日志信息的方法
浏览次数:1592 关键词 ( )
查看使用该CPU的产品 查看CPU天梯
CPU型号:MySQL中按时间获取慢日志信息的方法
主频:Ghz
睿频:Ghz
核心数:个
不支持超核心
制作工艺:
插槽类型:
功耗:0W
L3缓存:0MB
支持最大内存: 0GB
 
CPU详细参数

今天处理一个case: 数据库异常,连接数突增。
想着分析一下慢日志,可是一看慢日志都好几G了,而且是短日志格式,找到那个时间点相对比较难。于是写了一个脚本从慢日志按时间提取点日志。脚本:

https://github.com/wubx/mysql-binlog-statistic/blob/master/bin/cutlogbytime

使用方法:

复制代码 代码如下:
cutlogbytime
#用于从慢日志用截取一个时间段的日志方便分析
./cutlogbytime /path/slowlogfile starttime endtime  > dstfile.log

时间需要写时戳

mysql> select unix_timestamp('2013-04-05');
+------------------------------+
| unix_timestamp('2013-04-05') |
+------------------------------+
| 1365091200 |
+------------------------------+
1 row in set (0.00 sec)

mysql> select unix_timestamp('2013-04-06');
+------------------------------+
| unix_timestamp('2013-04-06') |
+------------------------------+
| 1365177600 |
+------------------------------+
1 row in set (0.00 sec)

./cutlogbytime /path/slowlogfile 1365091200 1365177600 > 20130405_slow.log

这样得到一天的日志文件就小一点的也容易分析了。而且可以根据天的文件,在取一天的某个时间点的日志。

下一个产品 SQL计算timestamp的差值的方法
上一个产品 在MySQL中使用mysqlbinlog flashback的简单教程

拥有超过10年的业务管理经验。我们是IDC服务和解决方案方面的专家

有任何疑问请不要犹豫,立即点击联系我们