MySQL數(shù)據(jù)庫(kù)備份過(guò)程的注意事項(xiàng)
今天看了看數(shù)據(jù)備份相關(guān)的東西,總結(jié)了幾個(gè)MySQL數(shù)據(jù)備份的注意事項(xiàng),簡(jiǎn)單分享一下吧。
對(duì)于MySQL備份,每個(gè)DBA的理解可能都不一樣,備份可以分為下面幾個(gè)維度:
文件種類劃分:
1、物理備份,以xtrabackup為代表的物理備份是最常用的備份方法,經(jīng)常被用在備份大的數(shù)據(jù)庫(kù)上面。
2、邏輯備份,以mysqldump為代表的邏輯備份,小于50G的數(shù)據(jù)量,用該工具備份起來(lái)比較合適。
按照備份內(nèi)容劃分:
1、全量備份,這個(gè)容易理解,就是數(shù)據(jù)庫(kù)完整的一個(gè)備份
2、增量備份,基于全量備份的基礎(chǔ)之上的,例如全量備份備份截止日期是昨天,那么昨天到今天這部分?jǐn)?shù)據(jù)就是增量備份
3、日志備份,日志備份是在備份文件的基礎(chǔ)上,再對(duì)mysql的binlog進(jìn)行備份,我們知道binlog中記錄了mysql的DDL和DML操作,利用binlog能夠還原數(shù)據(jù)庫(kù)的某個(gè)中間狀態(tài)。
今天在梳理線上的備份內(nèi)容的時(shí)候,發(fā)現(xiàn)了以下一些可能有用的知識(shí)點(diǎn),羅列出來(lái),如果對(duì)大家有幫助,那是極好的,如果沒(méi)有,權(quán)當(dāng)我自嗨吧~
1、當(dāng)我們使用xtrabackup備份的時(shí)候,對(duì)于單機(jī)多實(shí)例的機(jī)器,最好分開(kāi)時(shí)間備份,因?yàn)橥粫r(shí)間備份多個(gè)MySQL實(shí)例嗎,會(huì)對(duì)磁盤(pán)IO影響較大,此時(shí)如果還有其他數(shù)據(jù)寫(xiě)入,會(huì)產(chǎn)生影響
2、可以利用NFS掛載的方式,將本地的數(shù)據(jù)備份在遠(yuǎn)程機(jī)器上,這樣可以緩解本地的備份壓力,同時(shí)可以保證本地硬盤(pán)出現(xiàn)問(wèn)題不影響數(shù)據(jù)恢復(fù)。應(yīng)用此種方法的時(shí)候,需要考慮機(jī)器之間的網(wǎng)絡(luò)帶寬。架構(gòu)圖如下:
3、我們知道,xtrabackup備份完的備份文件,如果我們用來(lái)恢復(fù),需要進(jìn)行了兩個(gè)步驟,第一步是apply_log,第二步是copy back,建議是備份完成之后,直接進(jìn)行apply log的操作,一旦失敗,還可以再備份一次,否則如果默認(rèn)可用,等到恢復(fù)的時(shí)候發(fā)現(xiàn)有問(wèn)題,就比較難辦了
4、基于binlog做增量恢復(fù)也是一種比較方便的做法,既按照一定的周期進(jìn)行全量備份,然后定時(shí)備份binlog,這期間的任意時(shí)間點(diǎn)的數(shù)據(jù)都可以通過(guò)備份的binlog進(jìn)行恢復(fù)
5、如果線上機(jī)器有多臺(tái),我們可以通過(guò)mysqldump和xtrabackup結(jié)合的方式進(jìn)行備份,設(shè)定一個(gè)閾值,例如50G,50G以下的數(shù)據(jù)量,mysqldump的性能比較好,50G以上的數(shù)據(jù)量,可以考慮使用xtrabackup的方法來(lái)進(jìn)行備份
6、備份數(shù)據(jù)的目的是為了恢復(fù),最好能在備份完成之后,嘗試恢復(fù)一把,保證備份數(shù)據(jù)的可用性。
7、對(duì)于數(shù)據(jù)量較大的實(shí)例,有時(shí)候備份的時(shí)間特別長(zhǎng),恢復(fù)起來(lái)也不方便,可以利用跨機(jī)房從庫(kù)的方法來(lái)進(jìn)行數(shù)據(jù)備份,此時(shí)可以搭建一個(gè)延遲從庫(kù),以便在主庫(kù)誤操作的時(shí)候,從庫(kù)可以及時(shí)的停止,跳過(guò)相關(guān)的誤操作步驟。
以上就是MySQL數(shù)據(jù)庫(kù)備份過(guò)程的注意事項(xiàng)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 備份的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Delphi中的Access技巧集2. Oracle單行函數(shù)(字符,數(shù)值,日期,轉(zhuǎn)換)3. Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)發(fā)布11i安全補(bǔ)丁4. MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏的實(shí)現(xiàn)5. MySQL分區(qū)的優(yōu)點(diǎn)6. 使用DB2look重新創(chuàng)建優(yōu)化器訪問(wèn)計(jì)劃(5)7. navicat for mysql導(dǎo)出數(shù)據(jù)庫(kù)的方法8. mybatis plus代碼生成工具的實(shí)現(xiàn)代碼9. MySQL5.7 mysqldump備份與恢復(fù)的實(shí)現(xiàn)10. MySQL ibdata1文件減肥過(guò)程解析
