完全備份+增量備份完成及時點還原
首先是一些感念
備份類型:
熱備份,溫備份,冷備份
熱備份;讀寫不受影響;
溫備份:僅可以執行讀操作;
冷備份:離線備份,讀,寫操作均終止;
實體備份和邏輯備份
實體備份:複制資料檔案
邏輯備份:将資料導出至文本檔案中。
完全備份,增量備份和差異備份:
完全備份:備份全部資料
增量備份:僅備份上次完全備份或者增量備份以後變化的資料;
差異備份:僅備份上次完全備份以來變化的資料;
備份政策:每周完全+每日增量
完全備份;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