Mysql之日志恢复

对于Mysql,每一步操作都会有相应记录,如insert,update,delete ,drop ,alter等相关DDL或DML操作。有时难免会出错,但在出错时如何恢复以复原数据。

例如,现在有这些数据:

但被我truncate了。需要紧急恢复。

首先,确保开启了binLog输出

然后,找到当前日志文件,使用show master status 如:

之后,拷出日志文件,

可以使用:show binlog events in 'binLog.000001',查看相半区间,也可以使用BinLog来查找

 

之后,flush logs[可产生新的日志文件],reset master【删除所有的日志文件】

然后,使用mysqlbinlog --vv --base64-output=DECODE-ROWS,找出要恢复的操作区间:

最后,使用mysqlbinlog 恢复,如:mysqlbinlog  --start-position=10468 --stop-position=10680  /tmp/binlog01 | mysql -uroot -p123456.

结束。

  方法二:

当然也可以使用mysql,首先使用mysqlbinlog导出要恢复的数据,然后使用mysql导入。

也可参见:http://www.cnblogs.com/martinzhang/p/3454358.html。

转载于:https://www.cnblogs.com/itdev/p/6048749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值