第八章 備份與恢復(fù) 閱讀總結(jié)

8.1 備份與恢復(fù)概述

可以根據(jù)不同的類烈來劃分備份的方法给僵。 根據(jù)備份的方法不同可以將備份分為:

Hot Backup (熱備)

Cold Backup (冷備)

Warm Backup (溫備)

????????Hot Backup 是指數(shù)據(jù)庫(kù)運(yùn)行中直接備份嚼贡, 對(duì)正在運(yùn)行的數(shù)據(jù)庫(kù)操作沒有任何的影響女阀。 這種方式在 MySQL 官方手冊(cè)中稱為 Online Backup (在線備份)脓斩。 Cold Backup 是指 備份操作是在數(shù)據(jù)庫(kù)停止的情況下赤屋, 這種備份最為簡(jiǎn)單碍岔, 一般只需要復(fù)制相關(guān)的數(shù)據(jù)庫(kù)物理文件即可畏线。 這種方式在 MySQL 官方手冊(cè)中稱為 Offline Backup (離線備份)味榛。 Warm Backup 備份同樣是在數(shù)據(jù)庫(kù)運(yùn)行中進(jìn)行的椭坚, 但是會(huì)對(duì)當(dāng)前數(shù)據(jù)庫(kù)的操作有所影響, 如加 一個(gè)全局讀鎖以保證備份數(shù)據(jù)的一致性搏色。

按照備份后文件的內(nèi)容善茎, 備份又可以分為:

邏輯備份

裸文件備份

????????在 MySQL 數(shù)據(jù)庫(kù)中, 邏輯備份是指?jìng)浞莩龅奈募?nèi)容是可讀的频轿,一般是文本文件垂涯。內(nèi)容一般是由一條條SQL語(yǔ)句, 或者是表內(nèi)實(shí)際數(shù)據(jù)組成航邢。如mysqldump和SELECT*INTO OUTFILE 的方法耕赘。這類方法的好處是可以觀察導(dǎo)出文件的內(nèi)容, 一般適用于數(shù)據(jù)庫(kù)的升級(jí)膳殷、遷移等工作操骡。但其缺點(diǎn)是恢復(fù)所需要的時(shí)間往往較長(zhǎng)。

????????裸文件備份是指復(fù)制數(shù)據(jù)庫(kù)的物理文件秽之, 既可以是在數(shù)據(jù)庫(kù)運(yùn)行中的復(fù)制(如ibbackup当娱、xtrabackup這類工具), 也可以是在數(shù)據(jù)庫(kù)停止運(yùn)行時(shí)直接的數(shù)據(jù)文件復(fù)制考榨。這類備份的恢復(fù)時(shí)間往往較邏輯備份短很多跨细。若按照備份數(shù)據(jù)庫(kù)的內(nèi)容來分, 備份又可以分為:

完全備份

增量備份

日志備份

????????完全備份是指對(duì)數(shù)據(jù)庫(kù)進(jìn)行一個(gè)完整的備份河质。增抵備份是指在上次完全備份的基礎(chǔ)上冀惭, 對(duì)于更改的數(shù)據(jù)進(jìn)行備份震叙。日志備份主要是指對(duì)MySQL數(shù)據(jù)庫(kù)二進(jìn)制日志的備份,通過對(duì)一個(gè)完全備份進(jìn)行二進(jìn)制日志的重做(replay)來完成數(shù)據(jù)庫(kù)的point-in-time的恢復(fù)工作散休。MySQL數(shù)據(jù)庫(kù)復(fù)制(replication)的原理就是異步實(shí)時(shí)地將二進(jìn)制日志重做傳送并應(yīng)用到從(slave/standby)數(shù)據(jù)庫(kù)媒楼。

8.2 冷備

? ? ? ? 對(duì)于InnoDB存儲(chǔ)引擎的冷備非常簡(jiǎn)單,只需要備份MySQL數(shù)據(jù)庫(kù)的frm文件戚丸,共享表空間文件划址,獨(dú)立表空間文件(*.ibd), 重做日志文件。另外建議定期備份MySQL數(shù)據(jù)庫(kù)的配置文件my.cnf, 這樣有利于恢復(fù)的操作限府。

冷備的優(yōu)點(diǎn)是:

備份簡(jiǎn)單夺颤,只要復(fù)制相關(guān)文件即可。

備份文件易于在不同操作系統(tǒng)胁勺,不同MySQL版本上進(jìn)行恢復(fù)世澜。?

恢復(fù)相當(dāng)簡(jiǎn)單,只需要把文件恢復(fù)到指定位囂即可署穗。

恢復(fù)速度快寥裂,不需要執(zhí)行任何SQL語(yǔ)句,也不需要重建索引案疲。

冷備的缺點(diǎn)是:

InnoDB存儲(chǔ)引擎冷備的文件通常比邏輯文件大很多封恰,因?yàn)楸砜臻g中存放著很多其他的數(shù)據(jù),如undo段络拌,插入緩沖等信息俭驮。

冷備也不總是可以輕易地跨平臺(tái)回溺。操作系統(tǒng)春贸、MySQL的版本、文件大小寫敏感和浮點(diǎn)數(shù)格式都會(huì)成為問題遗遵。

8.3 邏輯備份

8.3.1 mysqldump

8.3.2 SELECT…INTO OUTFILE

????????SELECT. .. INTO 語(yǔ)句也是一種邏輯備份的方法萍恕, 更準(zhǔn)確地說是導(dǎo)出一張表中的數(shù)據(jù)。

8.3.3 邏輯備份的恢復(fù)

? ??????mysqldump的恢復(fù)操作比較簡(jiǎn)單车要, 因?yàn)閭浞莸奈募褪菍?dǎo)出的SQL語(yǔ)句允粤,一般只需要執(zhí)行這個(gè)文件就可以了

? ??????因?yàn)檫壿媯浞莸奈募怯蒘QL語(yǔ)句組成的, 也可以通過SOURCE命令來執(zhí)行導(dǎo)出 的邏輯備份文件翼岁。

8.4 二進(jìn)制日志備份與恢復(fù)

? ??????二進(jìn)制日志非常關(guān)鍵类垫, 用戶可以通過它完成 point-in-time 的恢復(fù)工作。 MySQL 數(shù)據(jù)庫(kù)的 replication 同樣需要二進(jìn)制日志琅坡。 在默認(rèn)情況下并不啟用二進(jìn)制日志悉患, 要使用二進(jìn)制日志首先必須啟用它。

8.5 熱備

8.5.1 ibbackup

? ??????ibbackup 是 lnnoDB 存儲(chǔ)引擎官方提供的熱備工具榆俺, 可以同時(shí)備份 MylSAM 存儲(chǔ)引擎和 InnoDB 存儲(chǔ)引擎表售躁。對(duì)于 InnoDB 存儲(chǔ)引擎表其備份工作原理如下:

1) 記錄備份開始時(shí)坞淮, InnoDB 存儲(chǔ)引擎重做日志文件檢查點(diǎn)的 LSN。

2) 復(fù)制共享表空間文件以及獨(dú)立表空間文件陪捷。

3) 記錄復(fù)制完表空間文件后回窘, lnnoDB 存儲(chǔ)引擎重做日志文件檢查點(diǎn)的 LSN。

4) 復(fù)制在備份時(shí)產(chǎn)生的重做日志市袖。

8.6 快照備份? ? ? ??

????????MySQL數(shù)據(jù)庫(kù)本身并不支持快照功能啡直,因此快照備份是指通過文件系統(tǒng)支持的快照功能對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份拜英。備份的前提是將所有數(shù)據(jù)庫(kù)文件放在同一文件分區(qū)中丢胚, 然后對(duì)該分區(qū)進(jìn)行快照操作聪建。支持快照功能的文件系統(tǒng)和設(shè)備包括FreeBSD的UFS文件系統(tǒng)蛮拔,Solaris的ZFS文件系統(tǒng)吃粒,GNU/Linux的邏輯管理器(LogicalVolume Manager, LVM)等坪稽。這里以LVM為例進(jìn)行介紹匿刮,UFS和ZFS的快照實(shí)現(xiàn)大致和LVM相似县忌。

8.7 復(fù)制

8.7.1 復(fù)制的工作原理

? ??????復(fù)制 C replication) 是 MySQL 數(shù)據(jù)庫(kù)提供的一種高可用高性能的解決方案掂榔,一般用來建立大型的應(yīng)用。 總體來說症杏, replication 的工作原理分為以下 3 個(gè)步驟:

1) 主服務(wù)器 (master) 把數(shù)據(jù)更改記錄到二進(jìn)制日志 (binlog) 中装获。

2) 從服務(wù)器 (slave) 把主服務(wù)器的二進(jìn)制日志復(fù)制到自己的中繼日志 (relay log) 中。

3) 從服務(wù)器重做中繼日志中的日志厉颤, 把更改應(yīng)用到自己的數(shù)據(jù)庫(kù)上穴豫, 以達(dá)到數(shù)據(jù)的最終一致性。

? ??????復(fù)制的工作原理并不復(fù)雜逼友,其實(shí)就是一個(gè)完全備份加上二進(jìn)制日志備份的還原精肃。不同的是這個(gè)二進(jìn)制日志的還原操作基本上實(shí)時(shí)在進(jìn)行中。這里特別需要注意的是帜乞,復(fù)制不是完全實(shí)時(shí)地進(jìn)行同步司抱,而是異步實(shí)時(shí)。這中間存在主從服務(wù)器之間的執(zhí)行延時(shí)黎烈,如果主服務(wù)器的壓力很大习柠,則可能導(dǎo)致主從服務(wù)器延時(shí)較大。復(fù)制的工作原理如圖8-4所示照棋。

8.7.2 快照+復(fù)制的備份架構(gòu)

? ??????復(fù)制可以用來作為備份资溃, 但功能不僅限于備份, 其主要功能如下:

????????數(shù)據(jù)分布烈炭。 由于 MySQL 數(shù)據(jù)庫(kù)提供的復(fù)制并不需要很大的帶寬要求溶锭, 因此可以在不同的數(shù)據(jù)中心之間實(shí)現(xiàn)數(shù)據(jù)的復(fù)制。

????????讀取的負(fù)載平衡梳庆。通過建立多個(gè)從服務(wù)器暖途,可將讀取平均地分布到這些服務(wù)器中卑惜,并且減少了主服務(wù)器的壓力。一般通過DNS的Round-Robin和Linux的LVS功能都可以實(shí)現(xiàn)負(fù)載平衡驻售。

????????數(shù)據(jù)庫(kù)備份露久。復(fù)制對(duì)備份很有幫助,但是從服務(wù)器不是備份欺栗,不能完全代替?zhèn)浞荨?

????????高可用性和故障轉(zhuǎn)移毫痕。通過復(fù)制建立的從服務(wù)器有助于故障轉(zhuǎn)移,減少故障的停機(jī)時(shí)間和恢復(fù)時(shí)間迟几。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末消请,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子类腮,更是在濱河造成了極大的恐慌臊泰,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚜枢,死亡現(xiàn)場(chǎng)離奇詭異缸逃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)厂抽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門需频,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人筷凤,你說我怎么就攤上這事昭殉。” “怎么了藐守?”我有些...
    開封第一講書人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵挪丢,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我吗伤,道長(zhǎng)吃靠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任足淆,我火速辦了婚禮,結(jié)果婚禮上礁阁,老公的妹妹穿的比我還像新娘巧号。我一直安慰自己,他們只是感情好姥闭,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開白布丹鸿。 她就那樣靜靜地躺著,像睡著了一般棚品。 火紅的嫁衣襯著肌膚如雪靠欢。 梳的紋絲不亂的頭發(fā)上廊敌,一...
    開封第一講書人閱讀 52,736評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音门怪,去河邊找鬼骡澈。 笑死,一個(gè)胖子當(dāng)著我的面吹牛掷空,可吹牛的內(nèi)容都是我干的肋殴。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼坦弟,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼护锤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起酿傍,我...
    開封第一講書人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤烙懦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后赤炒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體修陡,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年可霎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了魄鸦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡癣朗,死狀恐怖拾因,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情旷余,我是刑警寧澤绢记,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站正卧,受9級(jí)特大地震影響蠢熄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜炉旷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一签孔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窘行,春花似錦饥追、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春捏顺,著一層夾襖步出監(jiān)牢的瞬間六孵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工幅骄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留劫窒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓昌执,卻偏偏與公主長(zhǎng)得像烛亦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子懂拾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容