找回密码
 立即注册
首页 业界区 安全 MySQL统计分析binlog的数量与大小

MySQL统计分析binlog的数量与大小

痕伯 前天 16:40
脚本介绍

脚本mysql_binlog_gen_sum的功能与用途如下所示:

  • 按天统计MySQL的binlog的生成数量(个数)与大小(Size)信息.用于数据分析.
  • 按小时统计MySQL的binlog的生成数量(个数)与大小(Size)信息.用于数据分析.
写这个脚本的初衷是想实现类似Oracle数据库中统计分析归档日志生成的大小与数量的功能,奈何MySQL数据库中没有这些系统视图和系统表.无法用SQL实现,所以写了这个小脚本实现这个功能.
版本说明
  1. #***************************************************************************************#
  2. # Version        Modified Date            Description                                   #
  3. #***************************************************************************************#
  4. # V.1.0          2024-05-10            创建此脚本                                        #
  5. # V.1.1          2025-10-11            完善脚本,改进部分功能                            #
  6. # V.1.2          2025-10-22            Fix掉统计输出部分数据没有按天排序的问题          #
  7. #########################################################################################
复制代码
参数说明

参数长参数是否强制参数参数说明-p--pathyesMySQL binlog的路径.-b--base_nameyesMySQL binlog的basename-t--typeno按天/小时/All统计输出,默认按天统计-u--unitnoMySQL binlog的大小按GB或MB或KB方式输出,默认按MB输出-v--versionno查看脚本版本信息-h--helpno查看脚本帮助信息脚本使用

脚本授权

脚本授权
  1. chmod +x mysql_binlog_gen_sum
复制代码
脚本示例

例子如下所示:

  • 查看帮助信息
  1. $ ./mysql_binlog_gen_sum --help
  2. Usage: mysql_binlog_gen_sum -p PATH_NAME  -b  BASE_NAME  [-t OUT_TYPE] [-u UNIT_TYPE] [-v] [-h]
  3.        -p = Mandatory parameters. The path of the mysql binlog
  4.        -b = Mandatory parameters. The basename of binlog
  5.        -t = Optional parameter. the report out by day|hour|all
  6.        -u = Optional parameter. the binlog size output unit(GB|MB|KB)
  7.        -h = Optional parameter.help mode.
  8.        -v = Optional parameter.shell version. Display the version information of the current script.
复制代码

  • 按天统计MySQL的binlog的生成个数与大小信息.用于数据分析.
  1. # ./mysql_binlog_gen_sum -p /data/mysql/logs  -b mysql-bin
  2. -----------------------------------------------------------------------------
  3. 下面数据是按天统计MySQL的binlog产生的数量,大小,以及每小时平均产生binlog的大小
  4. -----------------------------------------------------------------------------
  5. Date         Files    Total (MB)      PerHour (MB)
  6. ------------------------------------------------------------
  7. 2025-10-22   15       4658.74         194.11   
  8. 2025-10-23   29       8701.05         362.54   
  9. 2025-10-24   28       8401.67         350.07   
  10. 2025-10-25   28       8401.66         350.07   
  11. 2025-10-26   28       8401.75         350.07   
  12. 2025-10-27   27       8101.22         337.55   
  13. 2025-10-28   28       8401.90         350.08   
  14. 2025-10-29   18       5328.11         222.00
复制代码

  • 按天统计MySQL的binlog的生成个数与大小信息(文件大小按GB统计).用于数据分析.
  1. # ./mysql_binlog_gen_sum -p /data/mysql/logs  -b mysql-bin -u GB
  2. -----------------------------------------------------------------------------
  3. 下面数据是按天统计MySQL的binlog产生的数量,大小,以及每小时平均产生binlog的大小
  4. -----------------------------------------------------------------------------
  5. Date         Files    Total (GB)      PerHour (GB)
  6. ------------------------------------------------------------
  7. 2025-10-22   15       4.55            0.19      
  8. 2025-10-23   29       8.50            0.35      
  9. 2025-10-24   28       8.20            0.34      
  10. 2025-10-25   28       8.20            0.34      
  11. 2025-10-26   28       8.20            0.34      
  12. 2025-10-27   27       7.91            0.33      
  13. 2025-10-28   28       8.20            0.34      
  14. 2025-10-29   18       5.21            0.22
复制代码
扫描上面二维码关注我如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册