shell动态解析sql的binlog

#!/usr/bin
#设置数据库连接
conn='mysql -hhost -Pport -uusername -ppassword'
#获取最新的binlog文件
logfile=$($conn -e "show master logs" | tail -n 1 | awk -F" " '{print $1}')
#设置a为1,用户下边的判断
a=1
#while循环
while true
do
    #获取起始datetime
    fromDate=$(date "+%Y-%m-%d %H:%M:%S")
    #获取结束datetime
    toDate=$(date "+%Y-%m-%d %H:%M:%S" -d'+1 second' )
    echo "toDate is",$toDate
    echo "a is"$a
    #设置tempDate的值
    if [ $a -eq 1 ]; then
    tempDate=$fromDate
    else
    tempDate=$tmpDate
    fi
    echo "start time is "$tempDate
    echo "stop time is ",$toDate
    #解析binlog,并追加到文件中
    mysqlbinlog -R -hhost -Pport -uusername -ppassword --start-datetime="$tempDate" --stop-datetime="$toDate" $logfile | grep -v "[#|/*!*/;|BEGIN|COMMIT|]" >> content.txt
    #重新设置a的值 
  a
=2 tmpDate=$toDate echo "current log file is "$logfile done
然后tailf content.txt,即可实时观察binlog的输出。

注:因为会追加content.txt的内容,所以可以设置一个定时任务,定期处理content.txt文件,防止文件增长过大

转载于:https://www.cnblogs.com/liuweiqiang/p/3861429.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值