MySQL數(shù)據(jù)庫(kù)備份過程的注意事項(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ù)量,用該工具備份起來比較合適。
按照備份內(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),羅列出來,如果對(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í)間特別長(zhǎng),恢復(fù)起來也不方便,可以利用跨機(jī)房從庫(kù)的方法來進(jìn)行數(shù)據(jù)備份,此時(shí)可以搭建一個(gè)延遲從庫(kù),以便在主庫(kù)誤操作的時(shí)候,從庫(kù)可以及時(shí)的停止,跳過相關(guān)的誤操作步驟。
以上就是MySQL數(shù)據(jù)庫(kù)備份過程的注意事項(xiàng)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 備份的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- shell腳本定時(shí)備份MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)并保留指定時(shí)間
- Mysql數(shù)據(jù)庫(kù)定時(shí)備份腳本分享
- CentOS Mysql數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)定時(shí)備份
- MySQL數(shù)據(jù)庫(kù)備份恢復(fù)實(shí)現(xiàn)代碼
- MySQL數(shù)據(jù)庫(kù)入門之備份數(shù)據(jù)庫(kù)操作詳解
- mysql數(shù)據(jù)備份與恢復(fù)實(shí)現(xiàn)方法分析
- MySQL定時(shí)備份數(shù)據(jù)庫(kù)操作示例
- mysql 數(shù)據(jù)庫(kù)備份的多種實(shí)現(xiàn)方式總結(jié)
- Linux實(shí)現(xiàn)定時(shí)備份MySQL數(shù)據(jù)庫(kù)并刪除30天前的備份文件
- linux定時(shí)備份MySQL數(shù)據(jù)庫(kù)并刪除以前的備份文件(推薦)
- Mysql備份多個(gè)數(shù)據(jù)庫(kù)代碼實(shí)例
- MySQL數(shù)據(jù)備份方法的選擇與思考
相關(guān)文章
華為云云數(shù)據(jù)庫(kù)MySQL的體驗(yàn)流程
本文主要介紹了MySQL數(shù)據(jù)庫(kù)相關(guān)知識(shí),華為云云數(shù)據(jù)庫(kù)的體驗(yàn)流程和云數(shù)據(jù)庫(kù)MySQL的性能測(cè)試,感興趣的小伙伴可以閱讀瀏覽2023-03-03MySQL中int?(10)?和?int?(11)?的區(qū)別
這篇文章主要介紹了MySQL中int?(10)?和?int?(11)?的區(qū)別,根據(jù)mysql?中整數(shù)數(shù)據(jù)類型、不同類型的取值范圍、不同數(shù)據(jù)類型的默認(rèn)顯示寬度展開對(duì)int的介紹,需要的朋友可以參考一下2022-01-01Mysql存儲(chǔ)過程和函數(shù)區(qū)別介紹
這篇文章主要介紹了Mysql存儲(chǔ)過程和函數(shù)的區(qū)別,需要的朋友可以參考下2014-03-03