zoukankan      html  css  js  c++  java
  • 二十四、二进制日志截取与恢复

    截取二进制日志

    1、按照位置截取二进制日志

    #使用>导出
    $ mysqlbinlog --start-position=219 --stop-position=335 mysql-bin.000004 >/tmp/a.sql
    

    2、按照时间截取二进制日志

    #使用-r参数导出
    $ mysqlbinlog 
    --start-datetime="2021-03-30 17:14:15" 
    --stop-datetime='2021-03-30 17:15:15' 
    mysql-bin.000004 -r /tmp/b.sql
    

    通过binlog恢复数据

    只能作为辅助修复方法,如果数据太多日志数量也就越多不方便查找。

    #模拟数据
    mysql> create database haoge charset utf8mb4;
    mysql> use haoge;
    mysql> create table t1(id int);
    mysql> insert into t1 values(1);
    mysql> commit;
    
    #模拟故障 
    mysql> drop database haoge;
    
    #确认使用的日志文件
    mysql> show master status;   
    
    #查看事件
    mysql> show binlog events in 'mysql-bin.000004'; 
    
    #如果事件太多可导出结果进行查找
    $ mysql -e  "show binlog events in 'mysql-bin.000004'; "   > /tmp/mysql-bin.txt
    
    #找到起点和终点,进行截取
    $ mysqlbinlog --start-position=823 --stop-position=1420 /data/binlog/mysql-bin.000004 >/tmp/bin.sql
    
    #恢复binlog
    mysql> set sql_log_bin=0;   #临时关闭二进制日志记录以防恢复时产生的新日志
    mysql> source /tmp/bin.sql
    mysql> set sql_log_bin=1;  
    

    学习来自:老男孩深标DBA课程 第六章 日志管理

    今天的学习是为了以后的工作更加的轻松!
  • 相关阅读:
    STL++?pb_ds平板电视初步探索
    STL二分查找函数的应用
    线性DP LIS浅谈
    Manacher算法(马拉车算法)浅谈
    KMP瞎扯一下
    2018/11/9 周五集训队第四次测试赛补题题解
    洛谷P1294 高手去散步
    差分数组浅谈
    树状数组浅谈
    plugins标签:分页助手PageHelper的实现
  • 原文地址:https://www.cnblogs.com/tz90/p/14598681.html
Copyright © 2011-2022 走看看