mysql數(shù)據(jù)備份與恢復(fù)實現(xiàn)方法分析
本文實例講述了mysql數(shù)據(jù)備份與恢復(fù)實現(xiàn)方法。分享給大家供大家參考,具體如下:
本文內(nèi)容: 復(fù)制文件法 利用mysqldump 利用select into outfile 其它(列舉但不介紹)首發(fā)日期:2018-04-19
有些時候,在備份之前要先做flush tables ,確保所有數(shù)據(jù)都被寫入到磁盤中。
復(fù)制文件法: 對于myisam存儲引擎的數(shù)據(jù)庫,它的表結(jié)構(gòu)(.frm)、數(shù)據(jù)(.myd)和索引(.myi)都單獨(dú)成文件,可以直接復(fù)制這三個文件到備份空間就可以成功備份了。 至于還原,只需要把三個文件復(fù)制回某個數(shù)據(jù)庫目錄下即可。利用mysqldump:適用情況:本質(zhì)上是把表結(jié)構(gòu)和數(shù)據(jù)還原成sql語句,所以可以備份表結(jié)構(gòu)
備份: 單表備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫名 表名 > 備份文件路徑 多表備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫名 表名1 [其他表名] > 備份文件路徑 單個數(shù)據(jù)庫備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫名 > 備份文件路徑 多個數(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ù)庫時代表只恢復(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 字段處理是可選的,是每個字段的數(shù)據(jù)如何存儲,有以下即可小選項 enclosed by:以什么字符來包裹數(shù)據(jù),默認(rèn)是空字符 terminated by :以什么字符作為字段數(shù)據(jù)結(jié)尾,默認(rèn)是t,退格符 escaped by: 特殊符號用什么方法處理,默認(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’;
注意:在5.7新增了一個特性,secure_file_priv,它會限制數(shù)據(jù)的導(dǎo)出,secure-file-priv參數(shù)是用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個指定目錄的。
需要在my.ini中設(shè)置才能正常導(dǎo)出數(shù)據(jù)。
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
相關(guān)文章:
1. oracle正則表達(dá)式多項匹配時相似項有優(yōu)先級詳解2. Oracle和MySQL的一些簡單命令對比3. Access數(shù)據(jù)庫安全的幾個問題4. 淺談創(chuàng)建Oracle數(shù)據(jù)庫連接的兩種方法5. Oracle 數(shù)據(jù)庫集中復(fù)制方法逐步精細(xì)6. 實例講解Oracle數(shù)據(jù)庫設(shè)置默認(rèn)表空間問題7. 數(shù)據(jù)庫Oracle9i的企業(yè)管理器簡介8. Oracle中PL/SQL編程對系統(tǒng)性能的影響9. Oracle如何編寫一個sqlldr實例10. Oracle 10g DBMS_SCHEDULER的中度解析
