本文主要給大家介紹MySQL數(shù)據(jù)庫備份與恢復(fù)講析,希望可以給大家補(bǔ)充和更新些知識(shí),如有其它問題需要了解的可以持續(xù)在創(chuàng)新互聯(lián)行業(yè)資訊里面關(guān)注我的更新文章的。
十年的班戈網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整班戈建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“班戈網(wǎng)站設(shè)計(jì)”,“班戈網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
(1)提高系統(tǒng)的高可用性和災(zāi)難可恢復(fù)性,在數(shù)據(jù)庫系統(tǒng)崩潰時(shí),沒有數(shù)據(jù)庫備份就沒法恢復(fù)數(shù)據(jù)
(2)使用數(shù)據(jù)庫備份還原數(shù)據(jù)庫,是數(shù)據(jù)庫崩潰時(shí)提供數(shù)據(jù)恢復(fù)最小代價(jià)的最優(yōu)方案,如果讓用戶重新添加數(shù)據(jù),未免代價(jià)太大
(3)沒有數(shù)據(jù)就沒有一切,數(shù)據(jù)庫備份是一種防范災(zāi)難的強(qiáng)有力手段
1)程序錯(cuò)誤
2)人為誤操作
3)計(jì)算機(jī)失?。ㄏ到y(tǒng)崩潰)
4)磁盤失敗
5)災(zāi)難(如火災(zāi),地震)和偷竊
(1)物理備份;指對數(shù)據(jù)庫操作系統(tǒng)的物理文件(如數(shù)據(jù)文件,日志文件等)的備份。物理備份又可以分為脫機(jī)備份(冷備份)和聯(lián)機(jī)備份(熱備份)
冷備份:在關(guān)閉數(shù)據(jù)庫時(shí)進(jìn)行的備份操作,能夠較好地保證數(shù)據(jù)庫的完整性
熱備份:在數(shù)據(jù)庫運(yùn)行狀態(tài)中進(jìn)行備份,這種備份方法依賴于數(shù)據(jù)庫的日志文件
(2)邏輯備份:指對數(shù)據(jù)庫邏輯組件(如表等數(shù)據(jù)庫對象)的備份
從數(shù)據(jù)庫備份策略角度,備份可分為完全備份,差異備份和增量備份
1)完全備份:每次對數(shù)據(jù)進(jìn)行完整的備份。可以備份整個(gè)數(shù)據(jù)庫,包含用戶表,系統(tǒng)表,索引,視圖和存儲(chǔ)過程等所有數(shù)據(jù)庫對象。但它需要花費(fèi)更多的時(shí)間和空間。所以,做一次完全備份的周期要長些
2)差異備份:備份那些自從上次完全備份之后被修改過的文件,只備份數(shù)據(jù)庫部分內(nèi)容,它比最初的完全備份小,因?yàn)橹话陨洗瓮耆珎浞菀詠硭淖兊臄?shù)據(jù)庫,優(yōu)點(diǎn)是存儲(chǔ)和恢復(fù)速度快
3)增量備份:只有那些在上次完全備份或者增量備份后被修改的文件才會(huì)被備份
舉例 create database school;
create table info(id int, nsme char(10));
insert into info values(1,’qw’);
--------------完全備份-------------------------
insert into info values(2,’as’);
---------------------增量備份--------------------------
insert into info values(3,’zs’);
------------------增量備份和差異備份-----------------
insert into info values(4,’er’);
這次增量備份只備份4,而差異備份則備份2,3,4
差異備份只備份上次完全備份之后的內(nèi)容
增量備份則備份基于上次備份之后增加的部分進(jìn)行備份
mysql的數(shù)據(jù)庫文件默認(rèn)都是保存在安裝目錄的data文件夾下,可以直接保存data文件夾,但是占用的空間大,所以使用tar打包壓縮進(jìn)行保存
(1)數(shù)據(jù)庫文件很大,要使用壓縮率較大的xz格式,
yum -y install xz #安裝壓縮工具xz
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data #選項(xiàng)為大寫字母J
前面介紹的對Mysql整個(gè)數(shù)據(jù)庫目錄壓縮的方式,是備份數(shù)據(jù)庫中所有內(nèi)容。使用mysqldump工具可以更加靈活的控制備份的內(nèi)容,比如某幾個(gè)表或庫都可以單獨(dú)備份。備份之后的文件是一個(gè)sql腳本,.sql結(jié)尾是固定格式
(1)備份表數(shù)據(jù)
mysqldump -u 用戶名 -p 密碼 選項(xiàng) 數(shù)據(jù)庫名 表名 > /備份路徑/備份文件名
mysqldump -u root -p school info >/opt/info.sql
(2)單個(gè)庫備份
mysqldump -u 用戶名 -p 密碼 選項(xiàng) 數(shù)據(jù)庫名 >/備份路徑/備份文件名
mysqldump -u root -p school >/opt/school.sql
(3)多個(gè)庫備份
mysqldump -u 用戶名 -p 密碼 選項(xiàng) --databases 庫名1 庫名2 >/備份路徑/備份文件名
mysqldump -u root -p --databases kgc school >/opt/school_kgc.sql
(4)對所有庫進(jìn)行完全備份
mysqldump -u 用戶名 -p 密碼 選項(xiàng) --all-databases >/備份路徑/備份文件名
mysqldump -u root -p --all-databases >/opt/all.sql
(5)備份表結(jié)構(gòu)
mysqldump -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫名 表名 >/備份路徑/備份文件名
mysqldump -u root -p -d school info >/opt/info-d.sql
當(dāng)需要恢復(fù)數(shù)據(jù)庫的時(shí)候,可以使用source命令和mysql命令
在庫school已經(jīng)備份的前提下進(jìn)行恢復(fù)
mysqldump -u root -p school >/opt/school.sql
同樣也是在庫school已經(jīng)備份的前提下進(jìn)行恢復(fù)
(1)mysqldump -u root -p school >/opt/school.sql #只備份庫school里面的表內(nèi)容,而庫本身school沒有備份,恢復(fù)數(shù)據(jù)時(shí)則要先創(chuàng)建庫school,才能恢復(fù)
(2)mysqldump -u root -p --databases school >/opt/school01.sql #連同庫school本身和里面的表都會(huì)備份,恢復(fù)時(shí)直接恢復(fù)即可
在數(shù)據(jù)表已經(jīng)備份的前提下進(jìn)行恢復(fù)操作
mysqldump -u root -p school info >/opt/info.sql
同樣也是在數(shù)據(jù)表已經(jīng)備份的前提下進(jìn)行恢復(fù)操作
mysqldump -u root -p school info >/opt/info.sql
mysql -u 用戶名 -p 密碼 庫名 庫備份腳本的路徑
看了以上關(guān)于Mysql數(shù)據(jù)庫備份與恢復(fù)講析,希望能給大家在實(shí)際運(yùn)用中帶來一定的幫助。本文由于篇幅有限,難免會(huì)有不足和需要補(bǔ)充的地方,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時(shí)售前售后,隨時(shí)幫您解答問題的。