Mysql之日志恢复
Posted tjc123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。
以上是关于Mysql之日志恢复的主要内容,如果未能解决你的问题,请参考以下文章
Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
MySQL数据库之——日志和数据库内容的备份与恢复(妈妈再也不用担心数据丢失了)