MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個(gè)分支,主要由開源社區(qū)在維護(hù),采用GPL授權(quán)許可。開發(fā)這個(gè)分支的原因之一是:Oracle公司收購了MySQL后,有將MySQL閉源的潛在風(fēng)險(xiǎn),因此社區(qū)采用分支的方式來避開這個(gè)風(fēng)險(xiǎn)。 數(shù)據(jù)對(duì)我們來說再重要不過了,那我們?nèi)绾巫龅綄?duì)
MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個(gè)分支,主要由開源社區(qū)在維護(hù),采用GPL授權(quán)許可。開發(fā)這個(gè)分支的原因之一是:Oracle公司收購了MySQL后,有將MySQL閉源的潛在風(fēng)險(xiǎn),因此社區(qū)采用分支的方式來避開這個(gè)風(fēng)險(xiǎn)。
數(shù)據(jù)對(duì)我們來說再重要不過了,那我們?nèi)绾巫龅綄?duì)數(shù)據(jù)盡可能的安全呢,當(dāng)我們的數(shù)據(jù)丟失了那又該怎么做呢,所以說數(shù)據(jù)備份對(duì)我們的數(shù)據(jù)安全性來說太重要了。
數(shù)據(jù)對(duì)我們來說再熟悉不過了,也最平常不過了,我們每天都在接觸各色各樣的數(shù)據(jù),數(shù)據(jù)記錄了我們平常相關(guān)的業(yè)務(wù)信息,所以數(shù)據(jù)對(duì)于我們來說是很重要的, 這么重要的數(shù)據(jù)如果我們的數(shù)據(jù)丟失了那我們是不是相關(guān)的業(yè)務(wù)都沒法進(jìn)行了呢,這應(yīng)該是個(gè)很麻煩的問題,那我們?cè)趺幢Wo(hù)我們的數(shù)據(jù)的安全呢,這就要用到我們 的數(shù)據(jù)備份了。
如何執(zhí)行備份恢復(fù):備份與恢復(fù)在工作環(huán)境中是重中之重,為什么需要用到備份和恢復(fù)呢:
1、一般是做災(zāi)難恢復(fù)的,比如說自然災(zāi)害等。
2、可以做審計(jì)的,比如說某一數(shù)據(jù)在過去是什么樣的。
3、做測(cè)試的,比如說一個(gè)新的業(yè)務(wù)架構(gòu)數(shù)據(jù)存儲(chǔ)方式是否扛得著業(yè)務(wù)的訪問
備份的目的是用于恢復(fù)的,如果備份的數(shù)據(jù)用到時(shí)恢復(fù)不了數(shù)據(jù)怎么辦,所以對(duì)備份數(shù)據(jù)做恢復(fù)測(cè)試是很有必要的。而且還要定期性的去做測(cè)試。
備份類型:有很多種
根據(jù)備份時(shí),數(shù)據(jù)庫服務(wù)器是否在線:
冷備份:cold backup,服務(wù)器要離線,意味著我們的讀寫操作都不可以進(jìn)行了,這是最安全的備份方式,也是最不靠譜的方式。
溫備份:warm backup,全局施加共享鎖,只可讀,不可寫的備份叫溫備份
熱備份:hot backup,數(shù)據(jù)庫不離線,讀寫操作都可以進(jìn)行
InnoDB記錄數(shù)據(jù)時(shí)都會(huì)給數(shù)據(jù)一個(gè)序列號(hào),所以在備份時(shí)基于MVCC(多版本并發(fā)控制)的機(jī)制自動(dòng)加快照,每啟動(dòng)一個(gè)事務(wù)都會(huì)創(chuàng)建當(dāng)前集的一個(gè)快 照,而后基于MVCC的機(jī)制把每一個(gè)序列號(hào)都給它記錄一份下來,備份時(shí)只備份序列號(hào)或序列號(hào)之前的數(shù)據(jù),往后發(fā)生的將不做備份,如果事務(wù)的隔離級(jí)別不是特 別高的話,它并不會(huì)影響事務(wù)的讀寫操作,而這樣備份出來的數(shù)據(jù)一定是時(shí)間點(diǎn)一致的數(shù)據(jù),所以要完成熱備份,通常是基于事務(wù)的存儲(chǔ)引擎才能夠完成的。
根據(jù)備份時(shí)的數(shù)據(jù)集進(jìn)行分類:
完全備份:full backup:指?jìng)浞菡麄€(gè)庫,當(dāng)下數(shù)據(jù)集的整個(gè)庫的數(shù)據(jù)
部分備份:partial backup:只備份某張表或某張表的一部份數(shù)據(jù),有時(shí)備份單張表是有必要的。
根據(jù)備份時(shí)的接口(直接備份數(shù)據(jù)文件還是通過mysql服務(wù)器導(dǎo)出數(shù)據(jù))
物理備份:直接復(fù)制(歸檔)數(shù)據(jù)文件的備份方式;跨平臺(tái)能力沒有邏輯備份好,physucal backup。大數(shù)據(jù)集用這個(gè)比較好。
邏輯備份:把數(shù)據(jù)庫中提出來保存為文本文件;通常使用的工具是mysqldump,logical backup,對(duì)于大容量數(shù)據(jù)不適用?;謴?fù)速度很慢,占據(jù)空間很大
根據(jù)備份時(shí)是否備份整個(gè)數(shù)據(jù)還是僅備份變化的數(shù)據(jù):
完全備份:full backup,跟備份數(shù)據(jù)集中的完全備份概念是相同的,也是備份整個(gè)庫
增量備份:incremental backup,上一次完全備份之后所改變的數(shù)據(jù)做備份的為增量備份,比如說周一做一次備份,周二做一次備份,周三又做一次,這樣一天天累加上去的叫增量備份。比較節(jié)約空間。
差異備份:differential backup,比如說周一做一次備份,到周二了就把周一和周二這兩天的做一次備份,到周三就把周一周二周三的做一次備份,這就叫差異備份。比較容易恢復(fù)。
備份策略:需要考慮到的問題
1、選擇備份方式,選擇哪種方式根據(jù)我們的生產(chǎn)環(huán)境所需要來定;
2、執(zhí)行備份時(shí)間,選項(xiàng)一個(gè)訪問最少的時(shí)間做備份是比較合理的;
3、考慮到恢復(fù)成本:恢復(fù)時(shí)長;
4、備份成本:考慮到鎖時(shí)間、備份時(shí)長、備份負(fù)載;
備份對(duì)象:我們備份需要備份什么呢
1、備份數(shù)據(jù)庫中的數(shù)據(jù)是最重要的;
2、MySQL的配置文件,這個(gè)也是我們備份的對(duì)象
3、MySQL的代碼也是需要備份的:存儲(chǔ)過程,存儲(chǔ)函數(shù),觸發(fā)器
4、OS相關(guān)的配置文件,如crontab配置計(jì)劃及相關(guān)的腳本
5、如果是在主從復(fù)制的場(chǎng)景中,跟復(fù)制相關(guān)的信息也要備份
6、為了保證數(shù)據(jù)足夠可靠,二進(jìn)制日志文件也需要備份
常用的備份工具:
mysqldump:邏輯備份工具,是單線程備份工具,所以在某個(gè)服務(wù)器上做備份時(shí)它只能啟動(dòng)一個(gè)CPU啟動(dòng)一個(gè)線程進(jìn)行備份,性能比較差。
對(duì)InnoDB熱備、對(duì)MyISAM只能做到溫備、對(duì)Aria溫備,備份和恢復(fù)過程較慢;
mysqldumper:多線程的mysqldump,對(duì)多個(gè)庫或多張表可以同時(shí)進(jìn)行,提高性能;
mysqldump、mysqldumper,這兩個(gè)都是邏輯備份工具,通常情況也很難實(shí)現(xiàn)差異或增量備份,只能做完全備份,但可以做部分備份,比如只備份一張表是可以實(shí)現(xiàn)的;
基于冷備份時(shí):cp, 要基于lvm-snapshot邏輯卷快照進(jìn)行備份的,接近于熱備工具,因?yàn)橐日?qǐng)求全局鎖,而后創(chuàng)建快照,并在創(chuàng)建快照完成后釋放全局鎖;而后使用 cp、tar等工具進(jìn)行物理備份(因?yàn)閺?fù)制的源數(shù)據(jù)文件),所以備份和恢復(fù)數(shù)據(jù)速度較快,缺點(diǎn)很難實(shí)現(xiàn)增量備份,并且請(qǐng)求全局鎖需要等待一段時(shí)間,在繁忙 的服務(wù)器上尤其如此。
SELECT clause INTO OUTFILE ‘/path/to/somefile’;把挑選出來的子句保存到某一個(gè)文件中,是個(gè)部分備份工具,不會(huì)備份關(guān)系定義,僅備份表中的數(shù)據(jù),但這也是個(gè)邏輯 備份工具,在速度上也快于mysqldump,也沒法實(shí)現(xiàn)增量備份。
LOAD ADTA INFILE ‘/path/from/somefile’;表示從哪里讀數(shù)據(jù)來恢復(fù)的;
Innobase:提供了商業(yè)備份工具為Innobackup,可以實(shí)現(xiàn)InnoDB的熱備支持增量備份;但是對(duì)于MyISAM不支持增量備份,只能實(shí)現(xiàn)完全備份,屬于物理備份,速度比較快。
Xtrabackup:由Percona組織提供的開源備份工具,物理備份,速度快;
Mysqlhostcopy:幾乎冷備,吹牛工具,不適用;
mysqldump:常用的備份工具,也是個(gè)邏輯備份工具,用于小數(shù)據(jù)備份,一般都是在5G以下的小數(shù)據(jù)進(jìn)行備份;可以使用文本進(jìn)行二次處理;相當(dāng)于MySQL的客戶端工具
使用格式:mysqldump [options] [db_name [tbl_name ...]]
備份單個(gè)庫時(shí)用這個(gè)工具:mysqldump[option] db_name
恢復(fù)時(shí),如果目標(biāo)庫不存在,需要事先手動(dòng)創(chuàng)建
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2
違法及侵權(quán)請(qǐng)聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)