mysql數(shù)據(jù)備份與恢復(fù)實(shí)現(xiàn)方法分析
本文實(shí)例講述了mysql數(shù)據(jù)備份與恢復(fù)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
本文內(nèi)容:
- 復(fù)制文件法
- 利用mysqldump
- 利用select into outfile
- 其它(列舉但不介紹)
首發(fā)日期:2018-04-19
有些時(shí)候,在備份之前要先做flush tables ,確保所有數(shù)據(jù)都被寫入到磁盤中。
復(fù)制文件法:
- 對(duì)于myisam存儲(chǔ)引擎的數(shù)據(jù)庫,它的表結(jié)構(gòu)(.frm)、數(shù)據(jù)(.myd)和索引(.myi)都單獨(dú)成文件,可以直接復(fù)制這三個(gè)文件到備份空間就可以成功備份了。
- 至于還原,只需要把三個(gè)文件復(fù)制回某個(gè)數(shù)據(jù)庫目錄下即可。
利用mysqldump:
適用情況:本質(zhì)上是把表結(jié)構(gòu)和數(shù)據(jù)還原成sql語句,所以可以備份表結(jié)構(gòu)
備份:
- 單表備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫名 表名 > 備份文件路徑
- 多表備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫名 表名1 [其他表名] > 備份文件路徑
- 單個(gè)數(shù)據(jù)庫備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫名 > 備份文件路徑
- 多個(gè)數(shù)據(jù)庫備份:mysqldump -u用戶名 -p --databases 數(shù)據(jù)庫名1 數(shù)據(jù)庫名2 [其他數(shù)據(jù)庫] > 備份文件路徑
- 備份所有數(shù)據(jù)庫:mysqldump -u用戶名 -p --all --databases > 備份文件路徑
還原:
- mysqldump -u用戶名 -p密碼 [數(shù)據(jù)庫名] < 備份文件路徑 【指定數(shù)據(jù)庫時(shí)代表只恢復(fù)指定數(shù)據(jù)庫的備份,不指定為恢復(fù)備份文件中所有內(nèi)容】
補(bǔ)充:
- mysqldump還可以僅僅導(dǎo)出表數(shù)據(jù)【不過考慮到有select into outfile了,這里就不介紹了】
利用select into outfile:
適用情況:單表數(shù)據(jù)備份,只能復(fù)制表數(shù)據(jù),不能復(fù)制表結(jié)構(gòu)。
備份:
- 語法:select *\字段列表 from 數(shù)據(jù)源 into outfile 備份文件目標(biāo)路徑 [fields 字段處理] [lines 行處理]; 【備份文件目標(biāo)路徑中文件必須不存在】
- fields 字段處理是可選的,是每個(gè)字段的數(shù)據(jù)如何存儲(chǔ),有以下即可小選項(xiàng)
- enclosed by:以什么字符來包裹數(shù)據(jù),默認(rèn)是空字符
- terminated by :以什么字符作為字段數(shù)據(jù)結(jié)尾,默認(rèn)是\t,退格符
- escaped by: 特殊符號(hào)用什么方法處理,默認(rèn)是"\\"
- optionally enclosed by:以什么字符來包裹數(shù)據(jù)類型為字符串的數(shù)據(jù)。
- 語法:
select * from class into outfile "d:\c1.txt" fields enclosed by '-'; select * from class into outfile "d:\c1.txt" fields enclosed by '-' optionally enclosed by "'";
- lines 行處理是可選的
- starting by :每行以什么開始,默認(rèn)是空字符串
- terminated by :每行記錄以什么結(jié)束,默認(rèn)是“\n”
- 語法:
select * from class into outfile "d:\c.txt" lines starting by 'start:'; select * from class into outfile "d:\c1.txt" lines starting by 'start:' terminated by ' \n';
- fields 字段處理是可選的,是每個(gè)字段的數(shù)據(jù)如何存儲(chǔ),有以下即可小選項(xiàng)
注意:在5.7新增了一個(gè)特性,secure_file_priv,它會(huì)限制數(shù)據(jù)的導(dǎo)出,secure-file-priv參數(shù)是用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個(gè)指定目錄的。

需要在my.ini中設(shè)置
才能正常導(dǎo)出數(shù)據(jù)。
還原:
- 語法:load date infile 備份文件路徑 into table 表名 [fields 字段處理] [lines 行處理];【要把之前的字段處理和行處理都寫下來,不然無法正確區(qū)分?jǐn)?shù)據(jù)】
其它
- 備份:
- 使用mysql命令備份
- 利用mysqlhotcopy備份
- 利用backup table
- 還原:
- 使用mysqlimport導(dǎo)入數(shù)據(jù)文件。
- 使用restore還原
- 使用source還原
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫計(jì)有所幫助。
相關(guān)文章
MySQL中crash safe數(shù)據(jù)完整性機(jī)制面試精講
這篇文章主要為大家介紹了MySQL數(shù)據(jù)完整性crash safe特性面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
MySQL中Like模糊查詢速度太慢該如何進(jìn)行優(yōu)化
在業(yè)務(wù)場景中經(jīng)常會(huì)用到like模糊查詢,但是大家都知道,like是用不到索引的,所以當(dāng)數(shù)據(jù)量非常大時(shí),速度會(huì)非常慢,這篇文章主要給大家介紹了關(guān)于MySQL中Like模糊查詢速度太慢該如何進(jìn)行優(yōu)化的相關(guān)資料,需要的朋友可以參考下2021-12-12
mysql installer community 8.0.16.0安裝配置圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql installer community 8.0.16.0安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05

