美文网首页
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