MySQL數(shù)據(jù)庫備份過程的注意事項(xiàng)
今天看了看數(shù)據(jù)備份相關(guān)的東西,總結(jié)了幾個(gè)MySQL數(shù)據(jù)備份的注意事項(xiàng),簡單分享一下吧。
對(duì)于MySQL備份,每個(gè)DBA的理解可能都不一樣,備份可以分為下面幾個(gè)維度:
文件種類劃分:
1、物理備份,以xtrabackup為代表的物理備份是最常用的備份方法,經(jīng)常被用在備份大的數(shù)據(jù)庫上面。
2、邏輯備份,以mysqldump為代表的邏輯備份,小于50G的數(shù)據(jù)量,用該工具備份起來比較合適。
按照備份內(nèi)容劃分:
1、全量備份,這個(gè)容易理解,就是數(shù)據(jù)庫完整的一個(gè)備份
2、增量備份,基于全量備份的基礎(chǔ)之上的,例如全量備份備份截止日期是昨天,那么昨天到今天這部分?jǐn)?shù)據(jù)就是增量備份
3、日志備份,日志備份是在備份文件的基礎(chǔ)上,再對(duì)mysql的binlog進(jìn)行備份,我們知道binlog中記錄了mysql的DDL和DML操作,利用binlog能夠還原數(shù)據(jù)庫的某個(gè)中間狀態(tài)。
今天在梳理線上的備份內(nèi)容的時(shí)候,發(fā)現(xiàn)了以下一些可能有用的知識(shí)點(diǎn),羅列出來,如果對(duì)大家有幫助,那是極好的,如果沒有,權(quán)當(dāng)我自嗨吧~
1、當(dāng)我們使用xtrabackup備份的時(shí)候,對(duì)于單機(jī)多實(shí)例的機(jī)器,最好分開時(shí)間備份,因?yàn)橥粫r(shí)間備份多個(gè)MySQL實(shí)例嗎,會(huì)對(duì)磁盤IO影響較大,此時(shí)如果還有其他數(shù)據(jù)寫入,會(huì)產(chǎn)生影響
2、可以利用NFS掛載的方式,將本地的數(shù)據(jù)備份在遠(yuǎn)程機(jī)器上,這樣可以緩解本地的備份壓力,同時(shí)可以保證本地硬盤出現(xiàn)問題不影響數(shù)據(jù)恢復(fù)。應(yīng)用此種方法的時(shí)候,需要考慮機(jī)器之間的網(wǎng)絡(luò)帶寬。架構(gòu)圖如下:
3、我們知道,xtrabackup備份完的備份文件,如果我們用來恢復(fù),需要進(jìn)行了兩個(gè)步驟,第一步是apply_log,第二步是copy back,建議是備份完成之后,直接進(jìn)行apply log的操作,一旦失敗,還可以再備份一次,否則如果默認(rèn)可用,等到恢復(fù)的時(shí)候發(fā)現(xiàn)有問題,就比較難辦了
4、基于binlog做增量恢復(fù)也是一種比較方便的做法,既按照一定的周期進(jìn)行全量備份,然后定時(shí)備份binlog,這期間的任意時(shí)間點(diǎn)的數(shù)據(jù)都可以通過備份的binlog進(jìn)行恢復(fù)
5、如果線上機(jī)器有多臺(tái),我們可以通過mysqldump和xtrabackup結(jié)合的方式進(jìn)行備份,設(shè)定一個(gè)閾值,例如50G,50G以下的數(shù)據(jù)量,mysqldump的性能比較好,50G以上的數(shù)據(jù)量,可以考慮使用xtrabackup的方法來進(jìn)行備份
6、備份數(shù)據(jù)的目的是為了恢復(fù),最好能在備份完成之后,嘗試恢復(fù)一把,保證備份數(shù)據(jù)的可用性。
7、對(duì)于數(shù)據(jù)量較大的實(shí)例,有時(shí)候備份的時(shí)間特別長,恢復(fù)起來也不方便,可以利用跨機(jī)房從庫的方法來進(jìn)行數(shù)據(jù)備份,此時(shí)可以搭建一個(gè)延遲從庫,以便在主庫誤操作的時(shí)候,從庫可以及時(shí)的停止,跳過相關(guān)的誤操作步驟。
以上就是MySQL數(shù)據(jù)庫備份過程的注意事項(xiàng)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 備份的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Microsoft Office Access添加外鍵的方法2. 記一次mariadb數(shù)據(jù)庫無法連接3. sqlserver給表添加新字段、給表和字段添加備注、更新備注及查詢備注(sql語句)4. Microsoft Office Access添加圖片的方法5. 詳細(xì)談?wù)凪YSQL中的COLLATE是什么6. Mysql 如何實(shí)現(xiàn)多張無關(guān)聯(lián)表查詢數(shù)據(jù)并分頁7. 解析Mybatis對(duì)sql表的一對(duì)多查詢問題8. 關(guān)于Mybatis的sql注釋問題9. MySQL 查詢的排序、分頁相關(guān)10. SQLSERVER 的 truncate 和 delete 區(qū)別解析
