MySQL備份與恢復(fù)

????????????????????????????????????????MySQL備份與恢復(fù)的解決方案

目錄:

1玖雁、為什么要進(jìn)行備份

2更扁、備份的類型

3、備份需要考慮的因素

4赫冬、需要備份什么數(shù)據(jù)

5浓镜、理論上備份的設(shè)計(jì)方案

7、備份的工具有那些

8劲厌、結(jié)合工具膛薛,實(shí)際的解決方案有那些


一、為什么要進(jìn)行備份

? ? 由于硬件方面的故障(比如:磁盤損壞)补鼻,軟件故障(如:程序出現(xiàn)bug)還有自然災(zāi)害(如:地震)黑客攻擊哄啄,偷竊及人為的操作失誤照成的數(shù)據(jù)損壞雅任,所以要做備份。同時(shí)應(yīng)業(yè)務(wù)要求我們要做一些軟件測試咨跌,就更加表明了備份的需求沪么。

? ? 那么,在做備份時(shí)要做哪些呢锌半?

? ? 1)要清楚的知道公司業(yè)務(wù)最多能容忍丟失多少數(shù)據(jù)禽车。是4個(gè)9還是5個(gè)9都要心里有數(shù),在比如如果是在銀行系統(tǒng)中又如何保證數(shù)據(jù)的完全不丟失拳喻?

? ? 2)公司業(yè)務(wù)對數(shù)據(jù)恢復(fù)完成需要多長是時(shí)間哭当,是兩小時(shí),還是一天冗澈?

? ? 3)需要恢復(fù)那些數(shù)據(jù)呢钦勘?


? ? 在備份后注意那些?比如成功備份后亚亲,突然有一天系統(tǒng)故障彻采,你拿出備份數(shù)據(jù),在那鼓搗捌归,突然發(fā)現(xiàn)肛响,備份數(shù)據(jù)全部損壞。改怎么辦惜索?

所以特笋,在備份完全后,還是不能放松巾兆。要對備份好的數(shù)據(jù)進(jìn)行還原測試猎物。

? ? 還有,在平時(shí)業(yè)務(wù)正常時(shí)要進(jìn)行對備份進(jìn)行演練角塑,對團(tuán)隊(duì)內(nèi)的每個(gè)人進(jìn)行任務(wù)分配蔫磨。畢竟備份時(shí)容易,但在還原時(shí)要考慮的東西比較多圃伶。


二堤如、備份的類型

? ? 1)從數(shù)據(jù) 內(nèi)容上劃分

????????????完全備份:指備份整個(gè)數(shù)據(jù)集。

? ? ? ? ? ? 部分備份:指備份所需要的數(shù)據(jù)子集窒朋。

? ? 2)從時(shí)間中劃分:完全備份搀罢,增量備份,差異備份

完全備份:備份全部數(shù)據(jù)炼邀;

增量備份:僅備份上次完全備份或增量備份以后變化的數(shù)據(jù)魄揉;

增量備份圖

差異備份:僅備份上次完全備份以來變化的數(shù)據(jù);

差異備份

增量備份與差異備份區(qū)別:


? ? 3)從服務(wù)器狀態(tài)劃分

熱備份:讀拭宁、寫不受影響洛退;

溫備份:僅可以執(zhí)行讀操作;

冷備份:離線備份杰标;讀兵怯、寫操作均中止;

????4 )從對象劃分

物理備份:復(fù)制數(shù)據(jù)文腔剂,不能改變存儲(chǔ)引擎媒区;

邏輯備份:將數(shù)據(jù)導(dǎo)出至文本文件中,和存儲(chǔ)引擎無關(guān)


邏輯備份優(yōu)點(diǎn):

在備份速度上兩種備份要取決于不同的存儲(chǔ)引擎

物理備份的還原速度非车快袜漩。但是物理備份的最小力度只能做到表

邏輯備份保存的結(jié)構(gòu)通常都是純ASCII的,所以我們可以使用文本處理工具來處理

邏輯備份有非常強(qiáng)的兼容性湾碎,而物理備份則對版本要求非常高

邏輯備份也對保持?jǐn)?shù)據(jù)的安全性有保證

.邏輯備份的缺點(diǎn):

邏輯備份要對RDBMS產(chǎn)生額外的壓力宙攻,而裸備份無壓力

邏輯備份的結(jié)果可能要比源文件更大。所以很多人都對備份的內(nèi)容進(jìn)行壓縮

邏輯備份可能會(huì)丟失浮點(diǎn)數(shù)的精度信息

物理備份優(yōu)缺點(diǎn):

備份時(shí)間快介褥,但浪費(fèi)磁盤空間


3座掘、備份時(shí)需要考慮的因素

1)備份時(shí)會(huì)對備份內(nèi)容進(jìn)行鎖定,那么需要持鎖多久柔滔?

2)備份需要時(shí)間溢陪,那么備份過程時(shí)長多長?

3)備份時(shí)會(huì)加大CPU調(diào)度、磁盤I/O讀寫睛廊,那么備份是否超負(fù)載形真?

4)公司對數(shù)據(jù)恢復(fù)有時(shí)間是否有要求,如果有那么恢復(fù)時(shí)長多長超全?


4咆霜、需要備份什么數(shù)據(jù)

1)數(shù)據(jù):有完全備份、增量備份卵迂、差異備份

2)日志:二進(jìn)制日志裕便、InnoDB的事物日志

3)其他代碼:比如存儲(chǔ)過程的儲(chǔ)存函數(shù)、觸發(fā)器见咒、事件調(diào)度器還有配置文件

5偿衰、理論上備份的設(shè)計(jì)方案

1)根據(jù)數(shù)據(jù)集是完全備份加增量備份還是完全備份加差異備份?

2)根據(jù)備份手段:是物理備份還是邏輯備份改览?物理備份速度快下翎,但做熱備份難,邏輯備份速度慢但做熱備份容易宝当,如何設(shè)計(jì)视事?

7、備份的工具有那些:


常見備份工具

1)Mysql自帶的備份工具

(1)mysqldump 邏輯備份工具庆揩,支持所有引擎俐东,MyISAM引擎是溫備跌穗,InnoDB引擎是熱備,備份速度中速虏辫,還原速度非常非常慢蚌吸,但是在實(shí)現(xiàn)還原的時(shí)候,具有很大的操作余地砌庄。具有很好的彈性羹唠。

(2)mysqlhotcopy 物理備份工具,但只支持MyISAM引擎娄昆,基本上屬于冷備的范疇佩微,物理備份,速度比較快萌焰。

2)文件系統(tǒng)備份工具

(1)cp 冷備份哺眯,支持所有引擎,復(fù)制命令杆怕,只能實(shí)現(xiàn)冷備族购,物理備份。使用歸檔工具陵珍,cp命令寝杖,對其進(jìn)行備份的,備份速度快互纯,還原速度幾乎最快瑟幕,但是靈活度很低,可以跨系統(tǒng)留潦,但是跨平臺(tái)能力很差只盹。

(2)lvm 2幾乎是熱備份,支持所有引擎兔院,基于快照(LVM殖卑,ZFS)的物理備份,速度非撤宦埽快孵稽,幾乎是熱備。只影響數(shù)據(jù)幾秒鐘而已十偶。但是創(chuàng)建快照的過程本身就影響到了數(shù)據(jù)庫在線的使用菩鲜,所以備份速度比較快,恢復(fù)速度比較快惦积,沒有什么彈性空間接校,而且LVM的限制:不能對多個(gè)邏輯卷同一時(shí)間進(jìn)行備份,所以數(shù)據(jù)文件和事務(wù)日志等各種文件必須放在同一個(gè)LVM上狮崩。而ZFS則非常好的可以在多邏輯卷之間備份蛛勉。

3.其它工具ibbackup 商業(yè)工具 MyISAM是溫備份鹿寻,InnoDB是熱備份 ,備份和還原速度都很快董习,這個(gè)軟件它的每服務(wù)器授權(quán)版本是5000美元烈和。xtrabackup 開源工具 MyISAM是溫備份爱只,InnoDB是熱備份 皿淋,是ibbackup商業(yè)工具的替代工具。

八恬试、結(jié)合工具窝趣,實(shí)際的解決方案有那些

1)策略一:直接拷貝數(shù)據(jù)庫文件(文件系統(tǒng)備份工具 cp)(適合小型數(shù)據(jù)庫,是最可靠的)

當(dāng)你使用直接備份方法時(shí)训柴,必須保證表不在被使用哑舒。如果服務(wù)器在你正在拷貝一個(gè)表時(shí)改變它,拷貝就失去意義幻馁。保證你的拷貝完整性的最好方法是關(guān)閉服務(wù)器洗鸵,拷貝文件,然后重啟服務(wù)器仗嗦。如果你不想關(guān)閉服務(wù)器膘滨,要在執(zhí)行表檢查的同時(shí)鎖定服務(wù)器。如果服務(wù)器在運(yùn)行稀拐,相同的制約也適用于拷貝文件火邓,而且你應(yīng)該使用相同的鎖定協(xié)議讓服務(wù)器“安靜下來”。當(dāng)你完成了備份時(shí)德撬,需要重啟服務(wù)器(如果關(guān)閉了它)或釋放加在表上的鎖定(如果你讓服務(wù)器運(yùn)行)铲咨。要用直接拷貝文件把一個(gè)數(shù)據(jù)庫從一臺(tái)機(jī)器拷貝到另一臺(tái)機(jī)器上,只是將文件拷貝到另一臺(tái)服務(wù)器主機(jī)的適當(dāng)數(shù)據(jù)目錄下即可蜓洪。要確保文件是MyIASM格式或兩臺(tái)機(jī)器有相同的硬件結(jié)構(gòu)纤勒,否則你的數(shù)據(jù)庫在另一臺(tái)主機(jī)上有奇怪的內(nèi)容。你也應(yīng)該保證在另一臺(tái)機(jī)器上的服務(wù)器在你正在安裝數(shù)據(jù)庫表時(shí)不訪問它們隆檀。

2)策略二:mysqldump備份數(shù)據(jù)庫(完全備份+增加備份摇天,速度相對較慢,適合中小型數(shù)據(jù)庫)(MyISAM是溫備份刚操,InnoDB是熱備份)

mysqldump 是采用SQL級(jí)別的備份機(jī)制闸翅,它將數(shù)據(jù)表導(dǎo)成 SQL 腳本文件,在不同的 MySQL 版本之間升級(jí)時(shí)相對比較合適菊霜,這也是最常用的備份方法坚冀。mysqldump 比直接拷貝要慢些。對于中等級(jí)別業(yè)務(wù)量的系統(tǒng)來說鉴逞,備份策略可以這么定:第一次完全備份记某,每天一次增量備份司训,每周再做一次完全備份,如此一直重復(fù)液南。而對于重要的且繁忙的系統(tǒng)來說壳猜,則可能需要每天一次全量備份,每小時(shí)一次增量備份滑凉,甚至更頻繁统扳。為了不影響線上業(yè)務(wù),實(shí)現(xiàn)在線備份畅姊,并且能增量備份咒钟,最好的辦法就是采用主從復(fù)制機(jī)制(replication),在 slave 機(jī)器上做備份若未。

3)策略三:lvs快照從物理角度實(shí)現(xiàn)幾乎熱備的完全備份朱嘴,配合二進(jìn)制日志備份實(shí)現(xiàn)增量備份,速度快適合比較煩忙的數(shù)據(jù)庫

前提:

數(shù)據(jù)文件要在邏輯卷上粗合;

此邏輯卷所在卷組必須有足夠空間使用快照卷萍嬉;

數(shù)據(jù)文件和事務(wù)日志要在同一個(gè)邏輯卷上;

4)策略四:xtrabackup 備份數(shù)據(jù)庫隙疚,實(shí)現(xiàn)完全熱備份與增量熱備份(MyISAM是溫備份壤追,InnoDB是熱備份),由于有的數(shù)據(jù)在設(shè)計(jì)之初甚淡,數(shù)據(jù)目錄沒有存放在LVM上大诸,所以不能用LVM作備份,則用xtrabackup代替來備份數(shù)據(jù)庫

說明:Xtrabackup是一個(gè)對InnoDB做數(shù)據(jù)備份的工具贯卦,支持在線熱備份(備份時(shí)不影響數(shù)據(jù)讀寫)资柔,是商業(yè)備份工具InnoDB Hotbackup或ibbackup的一個(gè)很好的替代品。

Xtrabackup有兩個(gè)主要的工具:xtrabackup撵割、innobackupex

xtrabackup 只能備份InnoDB和XtraDB兩種數(shù)據(jù)表贿堰,而不能備份MyISAM數(shù)據(jù)表。

innobackupex 是參考了InnoDB Hotbackup的innoback腳本修改而來的.innobackupex是一個(gè)perl腳本封裝啡彬,封裝了xtrabackup羹与。主要是為了方便的 同時(shí)備份InnoDB和MyISAM引擎的表,但在處理myisam時(shí)需要加一個(gè)讀鎖庶灿。并且加入了一些使用的選項(xiàng)纵搁。如slave-info可以記錄備份恢復(fù)后作為slave需要的一些信息,根據(jù)這些信息往踢,可以很方便的利用備份來重做slave腾誉。

特點(diǎn):

備份過程快速、可靠;

備份過程不會(huì)打斷正在執(zhí)行的事務(wù)利职;

能夠基于壓縮等功能節(jié)約磁盤空間和流量趣效;

自動(dòng)實(shí)現(xiàn)備份檢驗(yàn);

還原速度快猪贪;

5)策略五:主從復(fù)制(replication)實(shí)現(xiàn)數(shù)據(jù)庫實(shí)時(shí)備份(集群中常用)


6)總結(jié)

單機(jī)備份是完全備份(所有數(shù)據(jù)庫文件)+增量備份(備份二進(jìn)制日志)相結(jié)合跷敬!

集群中備份是完全備份(所有數(shù)據(jù)庫文件)+增量備份(備份二進(jìn)制日志)+主從復(fù)制(replication)相結(jié)合的方法!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末热押,一起剝皮案震驚了整個(gè)濱河市西傀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌楞黄,老刑警劉巖池凄,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鬼廓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)致盟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門碎税,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人馏锡,你說我怎么就攤上這事雷蹂。” “怎么了杯道?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵匪煌,是天一觀的道長。 經(jīng)常有香客問我党巾,道長萎庭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任齿拂,我火速辦了婚禮驳规,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘署海。我一直安慰自己吗购,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布砸狞。 她就那樣靜靜地躺著捻勉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪刀森。 梳的紋絲不亂的頭發(fā)上踱启,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼禽捆。 笑死笙什,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胚想。 我是一名探鬼主播琐凭,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浊服!你這毒婦竟也來了统屈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤牙躺,失蹤者是張志新(化名)和其女友劉穎愁憔,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體孽拷,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吨掌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脓恕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膜宋。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖炼幔,靈堂內(nèi)的尸體忽然破棺而出秋茫,到底是詐尸還是另有隱情,我是刑警寧澤乃秀,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布肛著,位于F島的核電站,受9級(jí)特大地震影響跺讯,放射性物質(zhì)發(fā)生泄漏枢贿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一抬吟、第九天 我趴在偏房一處隱蔽的房頂上張望萨咕。 院中可真熱鬧,春花似錦火本、人聲如沸危队。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茫陆。三九已至,卻和暖如春擎析,著一層夾襖步出監(jiān)牢的瞬間簿盅,已是汗流浹背挥下。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留桨醋,地道東北人棚瘟。 一個(gè)月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像喜最,于是被迫代替她去往敵國和親偎蘸。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

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