天天看點

完全備份+增量備份完成即時點還原

完全備份+增量備份完成及時點還原

首先是一些感念

 備份類型:

    熱備份,溫備份,冷備份

    熱備份;讀寫不受影響;

    溫備份:僅可以執行讀操作;

    冷備份:離線備份,讀,寫操作均終止;

 實體備份和邏輯備份

    實體備份:複制資料檔案

    邏輯備份:将資料導出至文本檔案中。

完全備份,增量備份和差異備份:

    完全備份:備份全部資料

    增量備份:僅備份上次完全備份或者增量備份以後變化的資料;

    差異備份:僅備份上次完全備份以來變化的資料;

備份政策:每周完全+每日增量 

    完全備份;mysqldump

    增量備份;備份二進制日志檔案(flush logs)

開始:

第一天全備份

1 . mysqldump -uroot -p --master-data=2 --flush-logs ---all-databases --lock-all-talbe >/root/alldatabases.sql

2.LESS alldatabase.sql;(檢視備份内容)

也可以:

壓縮備份:mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

還原壓縮的MySQL資料庫:gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

3.PURGE BINARY LOGS TO 'mysql=bin.000011';删除bin.00011之前的所有二進制日志;

(先copy一份日志 在删除這個時間點之前的)

show binary logs;檢視有哪些二進制日志;

期間資料有些改變,資料庫被操作

4.第二天做 增量日志:

mysql>flush logs; flush後mysql-bin.0000011為過去一天的記錄檔;

#cd /mydata/data/

#cp mysql-bin.0000011 /root/ 然後備份

#cp mysql-bin.0000012 /root/

或者 

#mysqlbinlog mysql-bin.000011 >/root/zhouyizengliang.sql {還原需要.sql檔案}

第三天 周二 資料有插入

中途資料挂了 即時點還原:

起動不了,首先初始化資料庫

cd /usr/local/mysql/

scripts/mysql_install_db --user=mysql --datadir=/mydata/data

service mysqld start

啟動後還原的順序:

1.先還原全庫備份# mysql -uroot -p < alldatabases.sql 

再導入增量備份# mysql < /root/zhouyizengliang.sql 

2.再将當時滾動産生的#mysql-bin.0000012 備份成sql檔案

#mysqlbinlog mysql-bin.000012 -uroot -p > temp.sql

3.導入還原到最新時刻的狀态

mysql -uroot -p < temp.sql

繼續閱讀