mysql bin log查询

本文深入讲解MySQL Binlog的使用方法,包括开启与关闭Binlog、常用操作命令、事件查询及内容展示,同时提供了mysqlbinlog命令的具体应用实例,帮助读者掌握Binlog在数据库管理中的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载 https://laijianfeng.org/2019/03/MySQL-Binlog-%E4%BB%8B%E7%BB%8D/

  1. mysqlbinlog常见的选项有以下几个:
    –start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地服务器的时间
    –stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地服务器的时间 取值和上述一样
    –start-position:从二进制日志中读取指定position 事件位置作为开始。

  2. 开启bin log
    SET SQL_LOG_BIN=1 命令来启用 binlog,通过 SET SQL_LOG_BIN=0 命令停用 binlog

  3. 常用的Binlog操作命令

    # 是否启用binlog日志
    show variables like 'log_bin';
    
    # 查看详细的日志配置信息
    show global variables like '%log%';
    
    # mysql数据存储目录
    show variables like '%dir%';
    
    # 查看binlog的目录
    show global variables like "%log_bin%";
    
    # 查看当前服务器使用的biglog文件及大小
    show binary logs;
    
    # 查看主服务器使用的biglog文件及大小
    
    # 查看最新一个binlog日志文件名称和Position
    show master status;
    
    
    # 事件查询命令
    # IN 'log_name' :指定要查询的binlog文件名(不指定就是第一个binlog文件)
    # FROM pos :指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)
    # LIMIT [offset,] :偏移量(不指定就是0)
    # row_count :查询总条数(不指定就是所有行)
    show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
    
    # 查看 binlog 内容
    show binlog events;
    
    # 查看具体一个binlog文件的内容 (in 后面为binlog的文件名)
    show binlog events in 'master.000003';
    
    # 设置binlog文件保存事件,过期删除,单位天
    set global expire_log_days=3; 
    
    # 删除当前的binlog文件
    reset master; 
    
    # 删除slave的中继日志
    reset slave;
    
    # 删除指定日期前的日志索引中binlog日志文件
    purge master logs before '2019-03-09 14:00:00';
    
    # 删除指定日志文件
    purge master logs to 'master.000003';
    
  4. binlog日志包括两类文件:

    二进制日志索引文件(文件名后缀为.index)用于记录所有有效的的二进制文件
    二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML语句事件

  5. mysqlbinlog 命令的使用
    服务器以二进制格式将binlog日志写入binlog文件,如何要以文本格式显示其内容,可以使用 mysqlbinlog 命令。

    # mysqlbinlog 的执行格式
    mysqlbinlog [options] log_file ...
    
    # 查看bin-log二进制文件(shell方式)
    mysqlbinlog -v --base64-output=decode-rows /var/lib/mysql/master.000003
    
    # 查看bin-log二进制文件(带查询条件)
    mysqlbinlog -v --base64-output=decode-rows /var/lib/mysql/master.000003 \
        --start-datetime="2019-03-01 00:00:00"  \
        --stop-datetime="2019-03-10 00:00:00"   \
        --start-position="5000"    \
        --stop-position="20000"    
    
  6. 恢复数据
    https://www.cnblogs.com/kevingrace/p/5907254.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值