温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

统计数据库每天产生的数据量大小

发布时间:2020-06-29 07:38:35 来源:网络 阅读:593 作者:insist_way 栏目:开发技术

写在前面:


现在有这样一个需求,需要统计线上数据库每天产生的数据量有多少,以此来反馈线上业务库的繁忙程度,怎么做呢?刚开始的时候,考虑用统计数据库备份文件大小,然后对比几天内的数据量差异的方法来进行统计,后来经过思考,发现这样一来,只能看出数据量增加了多少(只能统计insert、create等)。但如果业务库更多的是执行update、delete等操作,你会发现其实你的数据量并不会增加,甚至数据量较之前还会减少,这样,反映不了线上业务库的真实情况,而且这其中还掺杂着表碎片的影响。所以,经过考虑,笔者决定写个简单的Shell,分析binlog来进行统计较为靠谱


#!/bin/bash
#统计数据库每天产生的数据量大小
#author:lzb


time=`date "+%F"`
dataBases="bailidb university knowledge interface crm edusoho_e newedusoho ucserver bailiurm teacherprogram"
mysqlbinlog=/usr/local/mysql/bin/mysqlbinlog
binlog="mysql-bin.000304"
start="2019-06-08 10:00:00"
stop="2019-06-09 10:00:00"

for db in $dataBases
do
    $mysqlbinlog --database=$db --start-datetime="$start" --stop-datetime="$stop" $binlog > ${db}-$time.sql
    sleep 3
    du -sh ${db}-$time.sql
    /bin/rm -f ${db}-$time.sql
done


如果你认为笔者哪里写的有问题,或者你有更好的想法,欢迎下方留言!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI