zoukankan      html  css  js  c++  java
  • mysql_binlog恢复

    mysqlbinlog是mysql自带的回滚数据的机制,默认是不开启的需要手动开启。 
    手动开启mysql-binlog日志 
    1,在mysql配置文件my.cnf加上如下配置 
    [mysqld] 
    log-bin=mysql-bin 
    重启mysql 

    2,

    查看是否已经开启了binlog命令 
    show variables like ‘log_bin’ 
    这里写图片描述

    3,查看标准的sql语句(按照时间)

    mysqlbinlog  --start-datetime="2018-07-03 11:20:02" --stop-datetime="2018-07-03 11:20:12" --base64-output=DECODE-ROWS -v /data/mysql-bin.000007 > sql__log.sql

     通过查看sql语句并根据需要筛选需要恢复的数据

    例:cat sql__sql.sql |sed -n /###/p| sed 's/###//g;s/@.*/&,/g;s/DELETE FROM/INSERT INTO/g;s/WHERE/SELECT/g;'| sed -r 's/(@17.*),/1;/g'|sed -r 's/@[0-9][0-9]?=/ /g' ^C

    cat delete.txt | sed -n '/###/p' | sed 's/### //g;s//*.*/,/g;s/DELETE FROM/INSERT INTO/g;s/WHERE/SELECT/g;' |sed -r 's/(@2.*),/1;/g' | sed 's/@[1-9]=//g' >insert.sql^C

    mysql -u root -p *** -d 库 < sql__sql.sql

     

        1、直接进行恢复 
    mysqlbinlog /usr/local/mysql/data/binlog.123456 | mysql -u root -p

    2、按位置进行恢复 主要参数[–stop-position –start-position] 
    mysqlbinlog –stop-position=368312 –start-position=368315 /usr/local/mysql/data/binlog.123456 | mysql -u root -p 

    这里的位置可以通过读取binlog文件进行查看,不过这个也必须自己知道进行了那些操作。后面说如果看到的文件都是乱码或者看不到真正sql的问题 

  • 相关阅读:
    Selenium学习之==>常见面试题
    Selenium学习之==>Switch与SelectApi接口详解
    Selenium学习之==>ActionChainsApi接口详解
    Selenium学习之==>WebDriverApi接口详解
    Selenium学习之==>三种等待方式
    Selenium学习之==>18种定位方式的使用
    avaScript 的基础学习(一)
    前端基础之CSS
    Http协议
    前端基础之html
  • 原文地址:https://www.cnblogs.com/MR-HAIBO/p/9264276.html
Copyright © 2011-2022 走看看