每日凌晨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主從復制。