mysql数据库月增长量问题
如何统计出mysql数据库中的1个数据库月数据增长量?比如现在数据库是5G,查出上个月的数据库大小,然后相减得出月增长量
我来答
添加附件
收藏
复制链接
微信扫码分享

在小程序上查看
分享
添加附件
问题补充
5条回答
默认
最新
这个如果没有历史的监控数据的话,mysql内部是记录不了的。


打赏 0
写个监控脚本,每天du 一个数据目录。数据库本身没有记录数据增涨量


打赏 0
可以粗略统计表或库级别数据量,两次收集,求差。
select
table_schema,
table_name,
engine,
table_type,
sum(table_rows) as rows,
round(sum(data_length)/1024/1024, 2) as `data(MB)`,
round(sum(index_length)/1024/1024, 2) as `index(MB)`,
round(sum(data_length+index_length)/1024/1024, 2) as `total_size(MB)`
from information_schema.tables
where table_schema not in ('mysql', 'information_schema', 'performance_schema', 'sys')
and table_type not in('VIEW')
group by table_schema, table_name, engine, table_type
order by table_schema, table_name;
复制


打赏 0
如果有delete就不准了,当然如果你要个大概,也行


打赏 0
- 对于单个实例,可以通过下面语句统计出该实例每个database的大小:
SELECT table_schema,SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024 AS total_mb FROM information_schema.TABLES group by table_schema
复制
- 后面要做的,就是将当天/月的结果写入到库表里,比如写入dba_statistic.tmp_database_info:
insert into tmp_database_info (instance_id,business_ip,database_name,db_size,createdate)
复制
- 如果要统计多个实例,就需要通过自动化脚本,循环所有的实例,每个实例执行上面的select和insert操作
- 我们是写入clickhouse,脚本用python编写


打赏 0
回答交流
Markdown
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
添加图片链接
上传图片
导航目录
Markdown语法参考
请输入正文
提示
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
