百木园-与人分享,
就是让自己快乐。

Binlog分析利器-binlog_summary.py

​Binlog中,除了具体的SQL,其实,还包含了很多有价值的信息,如,

  • 事务的开始时间。
  • 事务的结束时间。
  • 事务的开始位置点。
  • 事务的结束位置点。
  • 操作的开始时间(一个事务通常会包含多个操作)。
  • 表的操作信息,如哪些表执行了哪些操作。
  • 拿到上面这些信息,我们可以做哪些事情呢?

  • 基于事务的开始位置点和结束位置点,我们可以得到事务的大小。知道了事务的大小,可用来判断它是否为大事务,是否是导致主从延迟的原因。
  • 基于事务的开始时间和结束时间,我们可以得到事务的持续时间。
  • 通过分析表的操作信息,可间接定位出线上的热点表。
  • 开发了一个简单的Binlog分析工具-binlog_summary.py,可提取上面这些信息,并在此基础上,进行一些常见分析。

    1. 下载地址

    https://github.com/slowtech/dba-toolkit/blob/master/MySQL/binlog_summary.py

     

    2. 参数解析

    # python binlog_summary.py --help
    usage: binlog_summary.py [
    -h] [-f BINLOG_TEXT_FILE] [--new]
    [
    -c {tps,opr,transaction}] [--start START_DATETIME]
    [
    --stop STOP_DATETIME] [--sort SORT_CONDITION] [-e]
    [
    --limit LIMIT]

    optional arguments:
    -h, --help show this help message and exit
    -f BINLOG_TEXT_FILE, --file BINLOG_TEXT_FILE
    Binlog text
    file, not the Raw binary file
    --new Make a fresh start
    -c {tps,opr,transaction}, --command {tps,opr,transaction}
    Command type: [tps, opr, transaction],tps: transaction
    per second, opr: dml per table, transaction: show
    transaction
    info
    --start START_DATETIME
    Start datetime,
    for example: 2004-12-25 11:25:56
    --stop STOP_DATETIME Stop datetime, for example: 2004-12-25 11:25:56
    --sort SORT_CONDITION
    Sort condition:
    time or size, you can use it when
    command type is transaction
    -e, --extend Show transaction info in detail,you can use it when
    command type is transaction
    --limit LIMIT Limit the number of rows to display

    来源:https://www.cnblogs.com/ivictor/p/15114460.html
    图文来源于网络,如有侵权请联系删除。

    未经允许不得转载:百木园 » Binlog分析利器-binlog_summary.py

    相关推荐

    • 暂无文章