利用mysql二进制日志进行mysql数据库的恢复

mysql_logo

对于需要确保mysql数据库完整性的网站,mysql的二进制日志至关重要。比如你做了mysql数据库的主从备份,你认为这应该能确保mysql从数据库是最新的内容了,这的确没错,但有一种情况,比如你误删除了数据,或者被黑客入侵而清除了数据库,这时mysql从服务器也会跟主数据库同步,这是你不想看到的,但数据确实没了。但是如果你每天进行了数据库的完整备份,而且mysql的二进制日志还在的话,这将有可能恢复最新的数据。下面介绍方法。
1、开启二进制日志
在使用二进制日志恢复数据库时,请确保你已经开启二进制日志,检查my.cnf文件是否存在log-bin=mysql-bin。
2、定期完整备份
你还需要间隔一定的时间做数据库的完整备份,只有这样你才有可能快速的恢复最新数据。
3、查看备份时间
查看你备份的时间,如dedecmsv57gbksp1.sql,取最后一行:-- Dump completed on 2012-11-08 11:11:48。
4、导出二进制日志
暂时关闭网站,防止新数据写入,导出二进制日志:

[php]mysqlbinlog mysql-bin.000001 -d dedecmsv57gbksp1 --start-datetime="2012-11-08 11:11:48" >binlog.sql[/php]

5、调整binlog.sql
编辑binlog.sql,删除误操作的语句。
6、导入数据
重建数据库dedecmsv57gbksp1,导入dedecmsv57gbksp1.sql,接着导入binlog.sql。
转载请标明文章来源:《http://www.centos.bz/2012/11/restore-mysql-data-with-mysqlbinlog/》

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 67 queries in 0.385 seconds