標籤:
資料備份屬於資料容災保護中的內容,所有的資料備份系統設計都基於這五個元素,備份源、備份目標、傳輸網路、備份引擎和備份策略。使用者按照需要制定備份策略,使用定時任務執行備份指令碼,使用備份引擎將需要備份的的資料從備份源通過傳輸網路傳送到備份目標。
備份五元組:
1、備份源
需要備份的資料統一稱為備份源,可以是文本資料,音視頻資料,也可以是資料庫資料等等。
2、備份目標
存放備份資料的位置,通常建議將備份資料存放在異機,或者是更遠的資料中心,備份目標可以是線上的磁碟,磁碟陣列櫃,也可以是磁帶庫或是虛擬帶庫。而備份目標所在的位置可以在同一個資料中心,也可以是容災機房。www.gogoqq.cc
3、傳輸網路
備份資料時使用的傳輸鏈路,可以是專線,乙太網路,Internet,VPN等等,只要保證備份源與目標之間的路由可達即可。
4、備份引擎
資料要能夠從源到目標流動,就要有動力,就像是水要流動一樣,這個動力來源就是備份引擎,像mysqldump,nvbu,還有大量的備份軟體都是備份引擎。www.mekka.cc
5、備份策略
為了有效備份,並減少人為操作,應該制定完善的備份策略。通常全備與差備與增備相結合,備份的時間點應該盡量避開業務高鋒期,通常在晚上執行,通過定時任務實現。
MYSQL資料備份原理
mysql資料備份其實就是通過SQL語句的形式將資料DUMP出來,以檔案的形式儲存,而且匯出的檔案還是可編輯的,這和Oracle資料庫的rman備份還是很不一樣的,mysql更像是一種邏輯備份從庫中抽取SQL語句,這就包括建庫,連庫,建表,插入等就像是將我們之前的操作再通過SQL語句重做一次。www.cooke360.cc
MYSQL的日誌類型
1、 二進位日誌(log-bin)
二進位日誌非常重要,二進位日誌會記錄mysql資料庫的所有變更操作,其實和oracle的redolog日誌原理差不多,由於它記錄的所有的操作,於是我們就可以使用某個時間點之後的二進位日誌做前滾操作,來增量恢複資料。
mysql的二進位日誌可以使用mysqlbinlog來進行查看和過濾,一直過濾到我們想要的資料再匯入資料庫,而且也是非常方便的,但尤其要強調的是要嚴格按照二進位日誌產生的順序執行。www.lslz.net
用途:記錄所有變更操作,用於增量備份
配置:在my.cnf中添加
[mysqld]
log-bin =mysql-bin
log-bin-index =mysql-bin.index
2、 中繼日誌(relay-log)
顧名思義,傳遞日誌,主要用在主從複製的架構中,只在從庫中有中繼日誌(多級複製除外)在從庫中將主庫複製過來的二進位日誌儲存為中繼日誌,用於從庫重構資料。
配置:在my.cnf中添加
[mysqld]
relay-log =relay-log
relay_log_index= relay-log.index
3、 慢查詢日誌(slow_query_log)
慢查詢日誌主要用於mysql最佳化,從資料庫中找出哪些SQL語句是比較慢的,將其放到一個檔案中,後續可以使用mysqlsla工具去對慢查詢語句進行分析,將分析結果提交給開發進行SQL最佳化。www.iistone.net
用途:找出慢查詢進行最佳化
配置:在my.cnf中添加
[mysqld]
slow_query_log= 1
long-query-time= 2
slow_query_log_file= /data/3306/slow.log
4、 一般查詢日誌
會記錄所有訪問mysql的行業,因此會產生大量日誌,一般建議關閉。
配置:在my.cnf中添加
[mysqld]
general_log = 1
log_output =FILE
general_log_file= /home/mysql/mysql/log/mysql.log
5、 錯誤記錄檔
記錄mysql產生的錯誤,這個日誌在排錯的時候相當有用,一般建議開啟。
配置:在my.cnf中添加
[mysqld]
log-warnings =1
log-error =/home/mysql/mysql/log/mysql.err
6、 交易記錄
緩衝事務提交的資料,實現將隨機IO轉換成順序IO。
配置:在my.cnf中添加
[mysqld]
innodb_log_buffer_size= 16M
innodb_log_file_size= 128M
innodb_log_files_in_group= 3
MYSQL備份與恢複策略與教程