本篇内容介绍了“怎么根据日期来查询mysql的binlog日志”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
根据日期来查询mysql的binlog日志的脚本
[binlog@m-mysql-binlogbak ~]美元猫 mysqllog.sh
# !/bin/bash
#本脚本是用来根据日期来查询mysql的binlog日志
#作者,czxin788@qq.com |0>>
阅读- p“请输入您要查询mysql日志的起始日期(格式必须是:170728):“开始时间
阅读- p“请输入您要查询mysql日志的截止日期(格式必须是:170728):“endtime
阅读- p“请输入您要查询的内容:“内容
回声“- - - - - - - - - - - - - - - - - -产生绯闻;
回声“正在为您查询,时间可能会比较长,请您耐心等候.....“;
回声“开始时间:“日期+ Y % - % m - H % d_ %: % m”“
#获取binlog的文件名
binname=' ls/opt/mysqlbinlog/| xargs的
#用的循环根据开始日期确定要查询的起始binlog日志文件名
因为我在的ls/opt/mysqlbinlog/
,mysqlbinlog——base64-output=decode-rows - v - v - v/opt/mysqlbinlog/-50我| | grep expr开始时间- 1美元的祝辞2/dev/null祝辞,1
,如果[$ ?情商0];然后
,echo $我比;/tmp/startbin。txt
,打破
,fi
完成了
startbinlog='猫/tmp/startbin。txt”
fistname=' echo $ startbinlog $ {binname # # * $ startbinlog}”
# # # # # # #
#用的循环根据截止日期确定要查询的截止binlog日志文件名
对j ' ls/opt/mysqlbinlog/
,mysqlbinlog——base64-output=decode-rows - v - v - v/opt/mysqlbinlog/j |头-50美元| grep expr endtime + 1美元的祝辞2/dev/null祝辞,1
,如果[$ ?情商0];然后
,echo $ j比;/tmp/endbin。txt
,打破
,fi
完成了
endbinlog='猫/tmp/endbin。txt”
lastname=' echo $ {fistname % % $ endbinlog *} $ endbinlog '
#输出最终要查询的binlog文件名
列表 #回声结果名称:美元lastname
cd/opt/mysqlbinlog/
resultlog=${内容}_“日期+ % m % d % H % m % S。日志
mysqlbinlog——base64-output=decode-rows - v - v - v $ lastname | grep - c - 200美元内容比;美元/home/binlog/resultlog
回声“- - - - - - - - - - - - - - - - - -产生绯闻;
回声“结束时间:“日期+ Y % - % m - H % d_ %: % m”“
回声“已完成,您要查询的内容已经放在/home/binlog/美元resultlog里面,请执行深圳/home/binlog/美元resultlog命令下载到自己笔记本上查看!“
[binlog@m-mysql-binlogbak ~]美元sh, mysqllog。sh
就可以使用了