动态

详情 返回 返回

MySQL統計分析binlog的數量與大小 - 动态 详情

腳本介紹

腳本mysql_binlog_gen_sum的功能與用途如下所示:

  1. 按天統計MySQL的binlog的生成數量(個數)與大小(Size)信息.用於數據分析.
  2. 按小時統計MySQL的binlog的生成數量(個數)與大小(Size)信息.用於數據分析.

寫這個腳本的初衷是想實現類似Oracle數據庫中統計分析歸檔日誌生成的大小與數量的功能,奈何MySQL數據庫中沒有這些系統視圖和系統表.無法用SQL實現,所以寫了這個小腳本實現這個功能.

版本説明

#***************************************************************************************#
# Version        Modified Date            Description                                   #
#***************************************************************************************#
# V.1.0          2024-05-10            創建此腳本                                        #
# V.1.1          2025-10-11            完善腳本,改進部分功能                            #
# V.1.2          2025-10-22            Fix掉統計輸出部分數據沒有按天排序的問題          #
######################################################################################### 

參數説明

參數 長參數 是否強制參數 參數説明
-p --path yes MySQL binlog的路徑.
-b --base_name yes MySQL binlog的basename
-t --type no 按天/小時/All統計輸出,默認按天統計
-u --unit no MySQL binlog的大小按GB或MB或KB方式輸出,默認按MB輸出
-v --version no 查看腳本版本信息
-h --help no 查看腳本幫助信息

腳本使用

腳本授權

腳本授權

chmod +x mysql_binlog_gen_sum

腳本示例

例子如下所示:

  1. 查看幫助信息
$ ./mysql_binlog_gen_sum --help
Usage: mysql_binlog_gen_sum -p PATH_NAME  -b  BASE_NAME  [-t OUT_TYPE] [-u UNIT_TYPE] [-v] [-h]
       -p = Mandatory parameters. The path of the mysql binlog
       -b = Mandatory parameters. The basename of binlog
       -t = Optional parameter. the report out by day|hour|all
       -u = Optional parameter. the binlog size output unit(GB|MB|KB)
       -h = Optional parameter.help mode.
       -v = Optional parameter.shell version. Display the version information of the current script.
  1. 按天統計MySQL的binlog的生成個數與大小信息.用於數據分析.
# ./mysql_binlog_gen_sum -p /data/mysql/logs  -b mysql-bin
-----------------------------------------------------------------------------
下面數據是按天統計MySQL的binlog產生的數量,大小,以及每小時平均產生binlog的大小
-----------------------------------------------------------------------------
Date         Files    Total (MB)      PerHour (MB)
------------------------------------------------------------
2025-10-22   15       4658.74         194.11    
2025-10-23   29       8701.05         362.54    
2025-10-24   28       8401.67         350.07    
2025-10-25   28       8401.66         350.07    
2025-10-26   28       8401.75         350.07    
2025-10-27   27       8101.22         337.55    
2025-10-28   28       8401.90         350.08    
2025-10-29   18       5328.11         222.00 
  1. 按天統計MySQL的binlog的生成個數與大小信息(文件大小按GB統計).用於數據分析.
# ./mysql_binlog_gen_sum -p /data/mysql/logs  -b mysql-bin -u GB
-----------------------------------------------------------------------------
下面數據是按天統計MySQL的binlog產生的數量,大小,以及每小時平均產生binlog的大小
-----------------------------------------------------------------------------
Date         Files    Total (GB)      PerHour (GB)
------------------------------------------------------------
2025-10-22   15       4.55            0.19      
2025-10-23   29       8.50            0.35      
2025-10-24   28       8.20            0.34      
2025-10-25   28       8.20            0.34      
2025-10-26   28       8.20            0.34      
2025-10-27   27       7.91            0.33      
2025-10-28   28       8.20            0.34      
2025-10-29   18       5.21            0.22 
user avatar Faith-zhang 头像 Vanilla-chan 头像 wy123 头像 python-learn 头像
点赞 4 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.