美文网首页
MySQL binlog找回误删数据

MySQL binlog找回误删数据

作者: Esc_df7c | 来源:发表于2017-07-21 18:41 被阅读0次

    1. 确保mysql开启了二进制日志

    /etc/my.cnf中有如下配置

    server-id=1

    log-bin=mysql-bin

    2. 通过mysqlbinlog将二进制日志转成sql

    mysqlbinlog --database=core --set-charset=utf8 --base64-output=decode-rows -v mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 --stop-datetime="2017-07-13 09:00:00" | grep api > api.sql

    --database:指定数据库

    --set-charset:指定编码

    --base64-output:去掉脚本中的row-format

    --start-datetime:指定开始时间

    --stop-datetime:指定结束时间

    注:以上命令中包含多个二进制文件,会将多个二进制文件中的指定内容输出到api.sql中

    3. 根据需求处理sql脚本

    3.1. 默认得到的sql每一行sql结尾没有分号,需手动添加: 可利用文本编辑器进行替换

    3.2. 删除脚本中的多余数据: 可根据关键字对行进行删除:sed -i '/keyword/d' api.sql

    4. 导入sql脚本

    mysql -uznz -p123456 --default-character-set=utf8 core < api.sql

    --default-character-set:导入时指定编码

    core:导入的目标数据库


    相关文章

      网友评论

          本文标题:MySQL binlog找回误删数据

          本文链接:https://www.haomeiwen.com/subject/ajgmattx.html