查出指定日期中大于指定执行时间的mysql慢日志


概述: 最近想查找某天的mysql慢日志大于指定执行时间的执行语句, 于是用下面的方式来实现。 前提是我们已经将mysql的慢日志按日期划分了。 主要是实现需求,草率的这么用了。

直接上现在简单的脚本:

#more slowlog.sh
 
#!/bin/bash
 
_dir=/data01/var/lib/mysql
_date=$1
cat /dev/null > /tmp/slowlog.$_date
TLIST=$(cat $_dir/mysql-slave-slow.log.$_date | grep Query_time: | awk '{if($3>1.5)print $3}')
for TNAME in $TLIST
do
echo $TNAME
sleep 1
cat $_dir/mysql-slave-slow.log.$_date | grep $TNAME -A 10 >> /tmp/slowlog.$_date
done


说明:
1、其中1.5是执行时间超过1.5S的执行语句;
2、目录下已经将每天的慢日志分割过了指定的文件格式; 
3、执行方式 bash slowlog.sh 2022-03-01 ,即可取出这天的慢日志大于执行时间1.5S的语句了。


附上:每天自动切mysql慢日志文件的方式 。

# more 1.sh
 
#!/bin/bash
time=`date +"%Y-%m-%d"`
_dir=/data01/var/lib/mysql
user="root"
passwd="12346789"
mysql -u$user -p$passwd -e "set global slow_query_log_file='$_dir/mysql-slave-slow.log.$time';"

说明:格式是满足查找慢日志的需求的,我们放入crontab中,每天准时执行即可。









 







本文标签: mysql慢日志

内容版权声明:【蓝色网居】部分资源来源于网络,如有侵犯您的所有权,请随时告知我们,我们将立即删除!感谢配合!

转载请注明出处:https://blog.ff56.cn/shujuku/1678519387.html


【手机扫一扫查看文本】

手机扫一扫 手机扫一扫查看文本 手机扫一扫





主从同步 表空间 postgresql xtrabackup 三主三从 慢查询 日志归档 不停机 redis6.0 使用方法 方案 同步 增量恢复 三主三从节点 5.7 备份 三台机器 mysqldump redis3.0集群环境 centos7 dump操作 自动备份 参数使用 binlog 情况处理 常用操作 增加从库 增量备份 redis 定时执行