每日凌晨2:00進(jìn)行dump對(duì)相應(yīng)數(shù)據(jù)庫(kù)進(jìn)行備份,同時(shí)對(duì)相應(yīng)數(shù)據(jù)庫(kù)進(jìn)行binlog日志文件更新。
如果發(fā)現(xiàn)數(shù)據(jù)庫(kù)錯(cuò)誤,只需要先恢復(fù)上一個(gè)dump的備份,然后再還原當(dāng)天的binlog日志文件。
舉例:
每日12:00執(zhí)行:
mysqldump database --flush-logs -uroot -p --opt > database_20020601.sql
按照日期規(guī)則執(zhí)行。
如果想恢復(fù)到今早10點(diǎn)的數(shù)據(jù)庫(kù),那么:
1、完整備份整個(gè)當(dāng)前數(shù)據(jù)庫(kù)
cd /var/lib/mysql
mysqldump -uroot -p123456 mydata > mydata.bak
2、刪除當(dāng)前備份好的數(shù)據(jù)庫(kù)
rm -rf mydata
3、先用dump恢復(fù)
mysql -uroot -p123456
mysql database -uroot -p123456 < database_20020601.sql
4、再用binlog按時(shí)間恢復(fù)
mysqlbinlog --stop-date="2011-07-28 10:18:49" /var/lib/mysql/mysql-bin.000006 | mysql -uroot -p123456
備注:
1、最好要把dump備份和binlog備份保存在異地--異地備份。
2、mysql主從復(fù)制。