佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > mysql數(shù)據(jù)備份與恢復(fù)實現(xiàn)方法分析

mysql數(shù)據(jù)備份與恢復(fù)實現(xiàn)方法分析

熱門標(biāo)簽:百度競價排名 地方門戶網(wǎng)站 呼叫中心市場需求 Linux服務(wù)器 鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化 服務(wù)外包 AI電銷

本文實例講述了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ù)。

還原:

  • 語法: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存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。

您可能感興趣的文章:
  • mysql5.7使用binlog 恢復(fù)數(shù)據(jù)的方法
  • MySQL通過binlog恢復(fù)數(shù)據(jù)
  • MySQL 利用frm文件和ibd文件恢復(fù)表數(shù)據(jù)
  • MySQL使用binlog日志做數(shù)據(jù)恢復(fù)的實現(xiàn)
  • mysql利用mysqlbinlog命令恢復(fù)誤刪除數(shù)據(jù)的實現(xiàn)
  • MySQL 兩種恢復(fù)數(shù)據(jù)的方法
  • MySQL數(shù)據(jù)庫備份恢復(fù)實現(xiàn)代碼
  • MySQL使用mysqldump+binlog完整恢復(fù)被刪除的數(shù)據(jù)庫原理解析
  • Mysql的Binlog數(shù)據(jù)恢復(fù):不小心刪除數(shù)據(jù)庫詳解
  • MySQL 數(shù)據(jù)恢復(fù)的多種方法匯總

標(biāo)簽:蘭州 衡水 湖南 湘潭 崇左 銅川 仙桃 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql數(shù)據(jù)備份與恢復(fù)實現(xiàn)方法分析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    扎鲁特旗| 崇文区| 澳门| 兴国县| 西昌市| 阿克陶县| 布尔津县| 焦作市| 彩票| 牟定县| 固镇县| 博白县| 肥城市| 五台县| 无为县| 寻甸| 周宁县| 永州市| 鹿泉市| 栖霞市| 灵宝市| 舞阳县| 郑州市| 泸定县| 黄龙县| 雷波县| 旺苍县| 盐源县| 宝丰县| 上饶市| 黔西| 石渠县| 铜鼓县| 江西省| 老河口市| 肇州县| 思茅市| 海阳市| 南昌县| 河池市| 肃南|