数据库 
首页 > 数据库 > 浏览文章

貌似很强的mysql备份策略分享

(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )

每日凌晨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  mydata > mydata.bak 

2、删除当前备份好的数据库
复制代码 代码如下:
rm -rf mydata

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主从复制。

上一篇:sphinxql如何得到结果数及show meta的详细说明
下一篇:mysql中使用sphinx搜索子域名需注意的问题