MySQL——全量,增量備份與恢復(fù)(理論篇)-創(chuàng)新互聯(lián)

數(shù)據(jù)備份的重要性

在生產(chǎn)環(huán)境中,數(shù)據(jù)的安全性是至關(guān)重要的,任何數(shù)據(jù)的丟失都可能產(chǎn)生嚴(yán)重的后果
造成數(shù)據(jù)丟失的原因:
    程序錯誤
    人為錯誤
    計算機失敗
    磁盤失敗
    災(zāi)難和偷竊

數(shù)據(jù)庫備份的分類

物理備份:

對數(shù)據(jù)庫操作系統(tǒng)的物理文件(如數(shù)據(jù)文件,日志文件等)的備份

物理備份又分為脫機備份(冷備份)和聯(lián)機備份(熱備份)

冷備份:是在關(guān)閉數(shù)據(jù)庫的時候進(jìn)行的
熱備份:數(shù)據(jù)庫處于運行狀態(tài),這種備份方法依賴于數(shù)據(jù)庫的日志文件

邏輯備份:

對數(shù)據(jù)庫邏輯組件(如表等數(shù)據(jù)庫對象)的備份

從數(shù)據(jù)庫的備份策略角度,備份可分為

完全備份:每次對數(shù)據(jù)進(jìn)行完整的備份
差異備份:備份那些自從上次完全備份之后被修改過的文件
增量備份:只有那些在上次完全備份或者增量備份后被修改的文件才會被備份

MySQL完全備份

完全備份是對整個數(shù)據(jù)庫的備份,數(shù)據(jù)結(jié)構(gòu)和文件結(jié)構(gòu)的備份
完全備份保存的是備份完成時刻的數(shù)據(jù)庫
完全備份是增量備份的基礎(chǔ)

完全備份的優(yōu)點

備份與恢復(fù)操作簡單方便

完全備份的缺點

數(shù)據(jù)存在大量的重復(fù)
占用大量的備份空間
備份與恢復(fù)時間長

mysqldump備份庫

MySQL數(shù)據(jù)庫的備份可以采用用多種方式

直接打包數(shù)據(jù)庫文件夾,如/usr/local/mysql/data
使用專用備份工具mysqldump

mysqldump命令

MySQL自帶的備份工具,相當(dāng)方便對MySQL進(jìn)行備份
通過該命令工具可以將指定的庫,表和全部的庫到處為SQL腳本,在需要恢復(fù)時可進(jìn)行數(shù)據(jù)恢復(fù)

mysqldump命令對單個庫進(jìn)行完全備份

mysqldump -u 用戶名 -p [密碼] [選項] [數(shù)據(jù)庫名] > /備份路徑/備份文件名

單庫備份例子

mysqldump -u root -p auth > /backup/auth.sql
mysqldump -u root -p mysql > /backup/mysql.sql

mysqldump命令對多個庫進(jìn)行完全備份

mysqldump -u 用戶名 -p [密碼] [選項] --database 庫名1 [庫名2]... > /備份路徑/備份文件名

多庫備份例子

mysqldump -u root -p --databases auth mysql > /back/databases-auth-mysql.sql

對所有庫進(jìn)行完全備份

mysqldump -u 用戶名 -p [密碼] [選項] --all-databases > /備份路徑/備份文件名

多有庫備份例子

mysqldump -u root -p --opt --all-databases > /backup/all-data.sql

mysqldump備份表

在時間生產(chǎn)環(huán)境中,存在對某個特定表的維護(hù)操作,此時mysqldump同樣發(fā)揮重大作用

使用mysqldump備份表的操作

mysqldump -u 用戶名 -p [密碼] [選項] 數(shù)據(jù)庫名 表名 > /備份路徑/備份文件名

備份表的例子

mysqldump -u root -p mysql user > /backup/mysql-user.sql

恢復(fù)數(shù)據(jù)庫

使用mysqldump命令導(dǎo)出的SQL備份腳本,在進(jìn)行數(shù)據(jù)恢復(fù)時可使用一下方法導(dǎo)入

source命令
mysql命令

使用source恢復(fù)數(shù)據(jù)庫的步驟

登錄到MySQL數(shù)據(jù)庫
執(zhí)行source備份sql腳本的路徑

source恢復(fù)例子

MySQL [(none)]> source /backup/all-data.sql

使用mysql命令恢復(fù)數(shù)據(jù)

mysql -u 用戶名 -p [密碼] < 庫備份腳本的路徑

mysql命令恢復(fù)例子

mysql -u root -p < /backup/all-data.sql

恢復(fù)表的操作

恢復(fù)表時同樣可以使用source或者mysql命令進(jìn)行

source恢復(fù)表的操作與恢復(fù)庫的操作相同

當(dāng)備份文件中只包含表的備份,而不包括創(chuàng)建庫的語句時,必須制定庫名,且目標(biāo)庫必須存在

mysql -u 用戶名 -p [密碼] < 表備份腳本的路徑
mysql -u root -p mysql < /backup/mysql-user.sql

在生產(chǎn)環(huán)境中,可以使用shell腳本自動實現(xiàn)定期備份

MySQL備份思路

定期實施備份,制定備份計劃或者策略,并嚴(yán)格遵守
除了進(jìn)行完全備份,開啟MySQL服務(wù)器的日志功能時很重要的
完全備份加上日志,可以對MySQL進(jìn)行大化的還原
使用同一的和易理解的備份文件名稱
推薦使用庫名或者表名加上時間的命名規(guī)則

MySQL增量備份

使用mysqldump進(jìn)行完全備份的存在的問題

備份數(shù)據(jù)中有重復(fù)數(shù)據(jù)
備份時間與恢復(fù)時間長

增量備份就是備份自上一次備份之后增加或變化的文件或者內(nèi)容

增量備份的特點:

沒有重復(fù)數(shù)據(jù),備份量不大,時間短
恢復(fù)麻煩:需要上次完全備份及完全備份之后所有的增量備份才能恢復(fù),而且要對所有增量備份進(jìn)行逐個反推恢復(fù)

MySQL沒有提供直接的增量備份方法

可以通過MySQL提供的二進(jìn)制日志(binary logs)間接實現(xiàn)增量備份

MySQL二進(jìn)制日志對備份的意義:

?二進(jìn)制日志保存了所有更新或者可能更新數(shù)據(jù)庫的操作
?二進(jìn)制日志在啟動MySQL服務(wù)器后開始記錄,并在文件達(dá)到max_ binlog_size所設(shè)置的大小或者接收到flush logs命令后重新創(chuàng)建新的日志文件
?只需定時執(zhí)行flush logs方法重新創(chuàng)建新的日志,生成二進(jìn)制文件序列,并及時把這些舊的日志保存到安全的地方就完成了一個時間段的增量備份

“專業(yè)、務(wù)實、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 成都創(chuàng)新互聯(lián)是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、軟件開發(fā)、設(shè)計服務(wù)業(yè)務(wù)。我們始終堅持以客戶需求為導(dǎo)向,結(jié)合用戶體驗與視覺傳達(dá),提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!

MySQL數(shù)據(jù)庫增量恢復(fù)

一般恢復(fù):

MySQL——全量,增量備份與恢復(fù)(理論篇)

基于位置恢復(fù):

就是將某個起始時間的二進(jìn)制日志導(dǎo)入數(shù)據(jù)庫中,從而跳過某個發(fā)生錯誤的時間點實現(xiàn)數(shù)據(jù)的恢復(fù)

基于時間點恢復(fù)

使用基于時間點的恢復(fù),可能會出現(xiàn)在一個時間點里既同時存在正確的操作又存在錯誤的操作,所以我們需要一種更為精確的恢復(fù)方式

增量恢復(fù)的方法

一般恢復(fù):

mysqlbinlog [--no-defaults]增量備份文件 | mysql -u用戶名 -p

基于位置的恢復(fù):

恢復(fù)數(shù)據(jù)到指定位置
mysqlbinlog --stop-position=操作'id' 1進(jìn)制日志 | mysql -u用戶名 -p 密碼
從指定的位置開始恢復(fù)數(shù)據(jù)
mysqlbinlog --start-position=操作'id'二進(jìn)制日志 | mysql -u用戶名 -p 密碼

基于時間點的恢復(fù):

從日志開頭截止到某個時間點的恢復(fù)
mysqlbinlog [--no-defaults] --stop-datetime='年-月-日 小時:分鐘:秒'二進(jìn)制日志 | mysql -u用戶名 -p 密碼
從某個時間點到日志結(jié)尾的恢復(fù)
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小時:分鐘:秒'二進(jìn)制日志 | mysql -u用戶名 -p 密碼
從某個時間點到某個時間點的恢復(fù)
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小時:分鐘:秒' --stop-datetime='年-月-日 小時:分鐘:秒'二進(jìn)制日志 | mysql -u用戶名 -p 密碼

查看二進(jìn)制日志文件(解碼)

mysqlbinlog --no-defaults --base64-output=decode-rows -V mysql-bin.000002 > /opt/ bak. txt

謝謝閱讀!!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享標(biāo)題:MySQL——全量,增量備份與恢復(fù)(理論篇)-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://muchs.cn/article10/djghdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站維護(hù)面包屑導(dǎo)航、外貿(mào)建站微信公眾號、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名