Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2919727
  • 博文数量: 454
  • 博客积分: 4860
  • 博客等级: 上校
  • 技术积分: 6375
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 10:08
个人简介

10年工作经验,专研网站运维。

文章分类

全部博文(454)

文章存档

2017年(11)

2016年(13)

2015年(47)

2014年(36)

2013年(147)

2012年(64)

2011年(136)

分类: Mysql/postgreSQL

2011-07-28 15:50:45

    无论是误操作还是被黑客攻击,只要有了健全的备份策略,在大的错误都能恢复,下面是我总结的一套无敌备份策略使得在mysql发生错误后能及时不丢失数据的恢复。
备份策略概述:

每日凌晨2:00进行dump对相应数据库进行备份,同时对相应数据库进行binlog日志文件更新。
如果发现数据库错误,只需要先恢复上一个dump的备份,然后再还原当天的binlog日志文件。
举例:
每日12:00执行:
mysqldump database --flush-logs -uroot -p --opt > database_20020601.sql
按照日期规则执行。
如果想恢复到今早10点的数据库,那么:
1、完整备份整个当前数据库
cd /var/lib/mysql
mysqldump -uroot -p123456  sugarcrm > sugarcrm.bak   
2、删除当前备份好的数据库
rm -rf sugarcrm  
3、先用dump恢复
mysql -uroot -p123456
mysql database -uroot -p123456 < database_20020601.sql   
4、再用binlog按时间恢复
mysqlbinlog --stop-date="2011-07-28 10:18:49" /var/lib/mysql/mysql-bin.000006 | mysql -uroot -p123456
备注:
1、最好要把dump备份和binlog备份保存在异地--异地备份!!!
2、mysql主从复制

阅读(1863) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~