• mysqlbinlog


    一、描述

      转换二进制日志为易读的文本格式或用于管道后恢复数据

    二、用法

    -d, --database=name     仅列出指定数据库的条目
    
    --start-datetime=name   从指定时间开始读取事件,name必须是datetime或timestamp格式
    
    -j, --start-position=#  从指定位置开始读取事件
    
    --stop-datetime=name    在指定时间前停止读取事件,name必须是datetime或timestamp格式
    
    --stop-position=#       在指定位置前停止读取事件

    -H, --hexdump       转换输出为十六进制

    三、二进制内容说明

    mysqlbinlog mysql.000001

    STATEMENT形式

    # at 141
    #100309 9:28:36 server id 123 end_log_pos 245 Query thread_id=3350 exec_time=11 error_code=0

    第一行:at num表示起始位置或偏移量

    第二行:date+time 发生时间,server id 服务器标识,end_log_pos 当前事件结束的位置偏移量,也是下个事件开始的位置,thread_id 执行该事件的线程,

    exec_time 执行该事件花费的时间,error_code 执行改时间的状态值,0表示成功

     

    四、分析每张表的DML stats(没有select)

    mysqlbinlog /path/to/mysql-bin.000999 | 
    grep -i -e "^update" -e "^insert" -e "^delete" -e "^replace" -e "^alter" | 
    cut -c1-100 | tr '[A-Z]' '[a-z]' | 
    sed -e "s/	/ /g;s/\`//g;s/(.*$//;s/ set .*$//;s/ as .*$//" | sed -e "s/ where .*$//" | 
    sort | uniq -c | sort -nr 

    33389 update e_acc
    17680 insert into r_b
    17680 insert into e_rec
    14332 insert into rcv_c
    13543 update e_rec
    10805 update loc
    3339 insert into r_att
    2781 insert into o_att
    ...

    参考

    http://dev.mysql.com/doc/refman/5.5/en/mysqlbinlog.html

  • 相关阅读:
    Linux删除tunnel的方法
    rpm 强制更新安装
    普通用户使用kubectl
    网络通信过程中mac地址和ip地址的必要性
    Quartz.net开源作业调度框架使用详解
    C# 开源组件--Word操作组件DocX
    用c#创建支持多语言的WinForm应用程序
    使用JavaScript获取日期加随机数生成单号
    C# winform treeView checkbox全选反选
    DevExpress控件的GridControl控件小结
  • 原文地址:https://www.cnblogs.com/metasequoia/p/6042283.html
Copyright © 2020-2023  润新知