小龙龟 小龙龟
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • mysql
  • redis
  • k8s
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
发现
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

小龙龟

前端界的小学生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • mysql
  • redis
  • k8s
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
发现
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • gtid跳过单个多个事务的方法
  • 通过mysql-bin.log恢复数据
    • 《Mysql》笔记
    xabcs
    2025-04-09
    目录

    通过mysql-bin.log恢复数据

    # 1 导出sql

    mysqlbinlog --base64-output=decode-rows  --skip-gtids -v  mysql-bin.002193  --result-file=002193.sql
    
    1

    # 2 过滤关键字

    grep -r 'DELETE FROM mpm_saas_wms.storage_info' -A 19  002193.sql  > 1.sql
    
    1

    # 3 解析sql

    sed -i 's/^### //g' 1.sql
    sed -i "s/^DELETE FROM/INSERT INTO/g" 1.sql
    sed -i "s/^WHERE/VALUES(/g" 1.sql
    sed -i '/INSERT INTO/i );' 1.sql
    cat 1.sql  | awk -F"=|" '{
    if($0 ~ /^INSERT|^VALUES|^);/){
    print $0;
    }else{
    printf $2",";
    };
    }' > 1.sql
    sed -i "s/,);$/);/g" 1.sql
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    此时1.sql就是丢失数据的插入sql,直接执行sql就可恢复丢失的数据

    编辑 (opens new window)
    #mysql
    上次更新: 2025/04/09, 17:51:58
    gtid跳过单个多个事务的方法

    ← gtid跳过单个多个事务的方法

    最近更新
    01
    AI开发广场
    04-18
    02
    k8s调度策略之优先级和抢占,驱逐详解
    04-14
    03
    博客丢失静态文件和字体的问题
    04-10
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 Evan Xu | MIT License | 桂ICP备2024034950号 | 桂公网安备45142202000030
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式