版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、電子課件數(shù)據(jù)庫原理及應(yīng)用教程(基于Linux的MySQL和NoSQL應(yīng)用)第15章第15章MySQL數(shù)據(jù)庫備份與還原數(shù)據(jù)庫原理及應(yīng)用教程(基于Linux的MySQL和NoSQL應(yīng)用)CONTENTS備份與還原概述1通過文件備份和還原23小結(jié)4通過命令MySQLdump備份還原備份與還原概述115.1 備份與還原概述為保證數(shù)據(jù)庫的可靠性和完整性,數(shù)據(jù)庫管理系統(tǒng)通常會采取各種有效的措施來進(jìn)行維護(hù)。盡管如此,在數(shù)據(jù)庫的實際使用過程中,仍然存在著一些不可預(yù)估的因素,會造成數(shù)據(jù)庫運行事務(wù)的異常中斷:計算機硬件故障計算機軟件故障病毒人為誤操作自然災(zāi)害盜竊面對這些可能的因素會造成數(shù)據(jù)丟失或被破壞的風(fēng)險,數(shù)據(jù)
2、庫系統(tǒng)提供了備份和恢復(fù)策略來保證數(shù)據(jù)庫中數(shù)據(jù)的可靠性和完整性。15.1 備份與還原概述數(shù)據(jù)庫備份是指通過導(dǎo)出數(shù)據(jù)或者拷貝表文件的方式來制作數(shù)據(jù)庫的副本。數(shù)據(jù)庫的恢復(fù)(也稱為數(shù)據(jù)庫的還原)是將數(shù)據(jù)庫從某一種“錯誤”狀態(tài)(如硬件故障、操作失誤、數(shù)據(jù)丟失、數(shù)據(jù)不一致等狀態(tài))恢復(fù)到某一已知的“正確”狀態(tài)。數(shù)據(jù)庫的恢復(fù)是以備份為基礎(chǔ)的,它是與備份相對應(yīng)的系統(tǒng)維護(hù)和管理操作。在MySQL數(shù)據(jù)庫中具體實現(xiàn)備份數(shù)據(jù)庫的方法可以分為以下幾種:1、完全備份將數(shù)據(jù)庫中的數(shù)據(jù)及所有對象全部備份2、表備份僅將一張或多張表中的數(shù)據(jù)進(jìn)行備份,可以使用select into outfile 或backup table語句,只
3、提取數(shù)據(jù)庫中的數(shù)據(jù),而不備份表的結(jié)構(gòu)和定義。15.1 備份與還原概述3、增量備份在某次完全備份的基礎(chǔ)上,只備份其后數(shù)據(jù)的變化??捎糜诙ㄆ趥浞莺妥詣踊謴?fù)。通過文件備份和還原215.2 通過文件備份和還原由于MYSQL服務(wù)器中的數(shù)據(jù)文件是基于磁盤的文本文件,所以最簡單、最直接的備份操作就是把數(shù)據(jù)庫文件直接復(fù)制出來。具體操作:先執(zhí)行FLUSH TABLES語句將所有數(shù)據(jù)寫入到數(shù)據(jù)文件的文本文件中。再停止MySQL數(shù)據(jù)庫服務(wù)器雖然停止MySQL數(shù)據(jù)庫服務(wù)器,可以解決復(fù)制數(shù)據(jù)庫文件實現(xiàn)數(shù)據(jù)備份的問題,但是這種方法不是最好的備份方法。這是因為實際情況下,MySQL數(shù)據(jù)庫服務(wù)器不允許被停止,同時該方式對In
4、noDB儲存引擎的表不適合,只適合MyISAM引擎。通過命令MySQLdump備份還原315.3.1 備份1、使用MySQL客戶端實用程序2、使用MySQLdump程序備份數(shù)據(jù)MySQLdump程序可以備份數(shù)據(jù)庫表的結(jié)構(gòu),還可以備份一個數(shù)據(jù)庫,甚至整個數(shù)據(jù)庫系統(tǒng),只需在MySQL客戶端實用程序的運行界面中輸入MySQLdump -help命令,即可查看到MySQLdump程序?qū)?yīng)的命令(1)備份表MySQLdump options database tables filename15.3.1 備份(1)備份表MySQLdump options database tables filename【
5、例15-1】使用MySQLdump備份數(shù)據(jù)庫MySQL_test中的表customers。MySQLdump -hlocalhost -uroot -p153456 MySQL_test customers /home/root01/ database_bak/ customers.sql; 命令成功執(zhí)行完畢后,會在指定的目錄/home/root01/ database_bak下生成一個表customers的備份文件customers.sql,該文件中存儲了創(chuàng)建表customers的一系列SQL語句以及該表中所有的數(shù)據(jù)。15.3.1 備份(2)備份數(shù)據(jù)庫MySQLdump options da
6、tabases options db1 db2 db3 . filename【例】備份數(shù)據(jù)庫MySQL_test和數(shù)據(jù)庫MySQL到/home/root01/ database_bak目錄下。MySQLdump -hlocalhosturoot -p153456 databases MySQL_test MySQL /home/root01/ database_bak/data.Sql ; 會在指定的目錄/home/root01/ database_bak下生成一個包含兩個數(shù)據(jù)庫MySQL_test和MySQL的備份文件data.sql,該文件中存儲了創(chuàng)建這兩個數(shù)據(jù)庫及其內(nèi)部數(shù)據(jù)表全部SQL語
7、句以及兩個數(shù)據(jù)庫中所有的數(shù)據(jù)。15.3.1 備份(3)備份整個數(shù)據(jù)庫系統(tǒng)MySQLdumpoptions - -all-databasesoptions filename ; 【例15-2】備份MySQL服務(wù)器上所有數(shù)據(jù)庫。MySQLdump -u root -p153456 -all-databases /home/root01/ database_bak/alldata.Sql ; 可以在MySQLdump命令中使用“tab=”選項來分開數(shù)據(jù)和創(chuàng)建表的SQL語句。15.3.1 備份(3)備份整個數(shù)據(jù)庫系統(tǒng)MySQLdumpoptions - -all-databasesoptions fi
8、lename ; 【例15-3】將數(shù)據(jù)庫 MySQL_test中所有表的表的結(jié)構(gòu)和數(shù)據(jù)分別備份到/home/root01/ database_bak目錄下MySQLdump u root p153456tab=/home/root01/ database_bak/MySQL_test ; 會在/home/root01/ database_bak目錄中生成4個文件,分別是customers.txt, customers.sql, customers_copy.txt和customuers_copy.sql.15.3.2 還原1、使用MySQL命令將MySQLdump程序備份的文件中全部的SQL語
9、句還原到MySQL中【例15-4】假設(shè)數(shù)據(jù)庫MySQL_test遭遇損壞,試用該數(shù)據(jù)庫的備份文件MySQL_test.sql將其恢復(fù)。 MySQL u root p153456 MySQL_test MySQL_test.sql ; 【例15-5】假設(shè)數(shù)據(jù)庫MySQL_test中表customers的表結(jié)構(gòu)被損壞,試將存儲表customers結(jié)構(gòu)的備份文件customers.Sql恢復(fù)到服務(wù)器中,其中該備份文件存放在Linux的/home/root01/ database_bak目錄中。MySQL u root p153456 customers /home/root01/ database_
10、bak/ customers.Sql ; 15.3.2 還原2、使用MySQLimport程序恢復(fù)數(shù)據(jù)【例15-6】 使用存放在/home/root01/ database_bak目錄下的備份數(shù)據(jù)文件customers.txt,恢復(fù)數(shù)據(jù)庫MySQL_test中表customers的數(shù)據(jù)。MySQLimport hlocalhost -uroot -p153456 low-priority replace MySQL_test /home/root01/ database_bak /customers.Txt ;MySQLimportoptionsdatabase textfile. ; 15.
11、4 表的導(dǎo)入和導(dǎo)出在MySQL中,可以使用select intooutfile語句把表數(shù)據(jù)導(dǎo)出到一個文本文件中進(jìn)行備份,并可使用load data.infile語句來恢復(fù)先前備份的數(shù)據(jù)。這種方法有一點不足,就是只能導(dǎo)出或?qū)藬?shù)據(jù)的內(nèi)容,而不包括表的結(jié)構(gòu),若表的結(jié)構(gòu)文件損壞,則必須先設(shè)法恢復(fù)原來表的結(jié)構(gòu)。1)導(dǎo)出備份語句select into.outfileselect * into outfilefile_namecharacter set charset_name export_options| into dumpfilefile_name fields terminated bystrin
12、g optionally enclosed bychar escaped bychar linesterminated bystring 15.4 表的導(dǎo)入和導(dǎo)出2)load data.infile語句load data low_priority | concurrent local infilefile_name.txt replace | ignore into table tbl_name fields terminated by string optionally enclosed by char escaped by char lines starting by string ter
13、minated by string ignore number lines (col_name_or_user_var,.) set col_name = expr,.) 15.4 表的導(dǎo)入和導(dǎo)出【例15-7】備份數(shù)據(jù)庫MySQL_test中表customers的全部數(shù)據(jù)到/home/root01/ database_bak目錄下一個名為backupfile.txt的文件中,要求字段值如果是字符則用雙引號標(biāo)注,字段值之間用逗號隔開,每行以問號為結(jié)束標(biāo)志。然后,將備份后的數(shù)據(jù)導(dǎo)入到一個和customers表結(jié)構(gòu)相同的空表cus-tomers_copy中。select * from MySQL_t
14、est.customers into outfile /home/root01/ database_bak /backupfile.txtfields terminated by . optionally enclosed by “” lines terminated by ?; 15.4 表的導(dǎo)入和導(dǎo)出【例15-7】備份數(shù)據(jù)庫MySQL_test中表customers的全部數(shù)據(jù)到/home/root01/ database_bak目錄下一個名為backupfile.txt的文件中,要求字段值如果是字符則用雙引號標(biāo)注,字段值之間用逗號隔開,每行以問號為結(jié)束標(biāo)志。然后,將備份后的數(shù)據(jù)導(dǎo)入到一個和customers表結(jié)構(gòu)相同的空表cus-tomers_copy中。load data infile /h
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高端商務(wù)區(qū)商鋪租賃管理協(xié)議4篇
- 專項工程項目監(jiān)管2024版委托協(xié)議版A版
- 2025年度高速公路服務(wù)區(qū)場標(biāo)準(zhǔn)化改造提升合同4篇
- 二零二五年度高壓直流變壓器采購及運輸合同3篇
- 2025年度圖書配送與圖書館管理系統(tǒng)承包合同4篇
- 2025年度拆遷安置補償房屋買賣合同范本(含維修)4篇
- 2024行政文員勞動合同范本:合同違約與賠償3篇
- 2024食堂食品安全與承包合同
- 2024講座教授聘任合同模板
- 2025年度城市老舊小區(qū)拆遷安置房買賣合同規(guī)范版4篇
- 物業(yè)民法典知識培訓(xùn)課件
- 2023年初中畢業(yè)生信息技術(shù)中考知識點詳解
- 2024-2025學(xué)年山東省德州市高中五校高二上學(xué)期期中考試地理試題(解析版)
- 《萬方數(shù)據(jù)資源介紹》課件
- 麻風(fēng)病病情分析
- 《急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)》
- 第一章-地震工程學(xué)概論
- TSGD7002-2023-壓力管道元件型式試驗規(guī)則
- 2024年度家庭醫(yī)生簽約服務(wù)培訓(xùn)課件
- 建筑工地節(jié)前停工安全檢查表
- 了不起的狐貍爸爸-全文打印
評論
0/150
提交評論