主頁 > 知識庫 > 史上最簡單的MySQL數(shù)據(jù)備份與還原教程(中)(三十六)

史上最簡單的MySQL數(shù)據(jù)備份與還原教程(中)(三十六)

熱門標簽:百度地圖標注地方備注 好搜地圖標注 400電話申請什么好 地圖標注圖標素材入駐 電話機器人免費嗎 龍圖酒吧地圖標注 電銷機器人價格多少錢一臺 怎么申請400電話申請 怎么辦理400電話呢

數(shù)據(jù)備份與還原第二篇,具體如下

基礎(chǔ)概念:

備份,將當前已有的數(shù)據(jù)或記錄另存一份;

還原,將數(shù)據(jù)恢復到備份時的狀態(tài)。

為什么要進行數(shù)據(jù)的備份與還原?

防止數(shù)據(jù)丟失;保護數(shù)據(jù)記錄。

數(shù)據(jù)備份與還原的方式有很多種,具體可以分為:數(shù)據(jù)表備份、單表數(shù)據(jù)備份、SQL備份和增量備份。

單表數(shù)據(jù)備份

單表數(shù)據(jù)備份,每次只能備份一張表,而且只能備份數(shù)據(jù),不能備份表結(jié)構(gòu)。

通常的使用場景為:將表中的數(shù)據(jù)導出到文件。

備份方法:從表中選出一部分數(shù)據(jù)保存到外部的文件中,

select */字段列表 + into outfile + '文件存儲路徑' + from 數(shù)據(jù)源;

在這里,使用單表數(shù)據(jù)備份有一個前提,那就是:導出的外部文件不存在,即文件存儲路徑下的文件不存在。

執(zhí)行如下 SQL 語句,進行測試:

-- 單表數(shù)據(jù)備份
select * into outfile 'D:/CoderLife/testMySQL/class.txt' from class;

如上圖所示,SQL 語句已經(jīng)執(zhí)行成功。在這里,如果我們遇到:

ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement.

這個錯誤,可以通過查看「詳述 MySQL 導出數(shù)據(jù)遇到 secure-file-priv 的問題」進行解決。

為了驗證是否真的將class表中的數(shù)據(jù)導出到指定位置,我們可以到該路徑下進行確認:

如上圖所示,顯然我們已經(jīng)將class表中的數(shù)據(jù)導出到本地啦!不過在這里,有一點需要我們特別注意,那就是:對于從數(shù)據(jù)庫導出的文件,我們最好用EditPlus等編輯工具打開,防止亂碼

此外,對于上述用于導出表中數(shù)據(jù)的 SQL 語法,其實我們可以顛倒書寫順序,也沒有問題,例如:

select */字段列表 + from 數(shù)據(jù)源 + into outfile + '文件存儲路徑';

執(zhí)行如下 SQL 語句,進行測試:

-- 單表數(shù)據(jù)備份
select * from class into outfile 'D:/CoderLife/testMySQL/class2.txt';

接下來,我們學習一些用于單表數(shù)據(jù)備份的高級操作,即自己指定字段和行的處理方式。

基本語法:select */字段列表 + into outfile + '文件存儲路徑' + fields + 字段處理 + lines + 行處理 + from 數(shù)據(jù)源;

字段處理:

enclosed by:指定字段用什么內(nèi)容包裹,默認是,空字符串;

terminated by:指定字段以什么結(jié)束,默認是\t,Tab鍵;

escaped by:指定特殊符號用什么方式處理,默認是\\,反斜線轉(zhuǎn)義。

行處理:

starting by:指定每行以什么開始,默認是,空字符串;

terminated by:指定每行以什么結(jié)束,默認是\r\n,換行符。

執(zhí)行如下 SQL 語句,進行測試:

-- 指定單表數(shù)據(jù)備份處理方式
select * into outfile 'D:/CoderLife/testMySQL/class3.txt'
-- 字段處理
fields
enclosed by '"'
terminated by '|'
lines
starting by 'START:'
from class ;

如上圖所示,顯然導出文件class3.txt按照我們指定的格式進行輸出啦!在前面,我們已經(jīng)測試了各種單表數(shù)據(jù)備份的方式,現(xiàn)在我們刪除數(shù)據(jù),并嘗試還原數(shù)據(jù),即將保持在外部的數(shù)據(jù)重新恢復到數(shù)據(jù)表中。But,由于單表數(shù)據(jù)備份進能備份數(shù)據(jù),因此如果表結(jié)構(gòu)不存在,則不能進行還原。

基本語法:load data infile + '文件存儲路徑' + into table + 表名 + [字段列表] + fields + 字段處理 + lines + 行處理;

執(zhí)行如下 SQL 語句,進行測試:

-- 刪除表 class 中的數(shù)據(jù)
delete from class;

-- 查看表 class 中的數(shù)據(jù)
select * from class;

-- 還原表 class 中的數(shù)據(jù)
load data infile 'D:/CoderLife/testMySQL/class3.txt'
into table class
-- 字段處理
fields
enclosed by '"'
terminated by '|'
lines
starting by 'START:';

-- 查看表 class 中的數(shù)據(jù)
select * from class;

如上圖所示,顯然在我們刪除表class中的數(shù)據(jù)之后,還原數(shù)據(jù)成功。

溫馨提示:符號[]括起來的內(nèi)容,表示可選項;符號+,則表示連接的意思。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 史上最簡單的MySQL數(shù)據(jù)備份與還原教程(上)(三十五)
  • 史上最簡單的MySQL數(shù)據(jù)備份與還原教程(下)(三十七)
  • 詳解MySQL數(shù)據(jù)備份之mysqldump使用方法
  • Linux下實現(xiàn)MySQL數(shù)據(jù)備份和恢復的命令使用全攻略
  • 通過實例學習MySQL分區(qū)表原理及常用操作

標簽:防疫工作 溫州 內(nèi)江 汕尾 固原 廣西 撫順 浙江

巨人網(wǎng)絡(luò)通訊聲明:本文標題《史上最簡單的MySQL數(shù)據(jù)備份與還原教程(中)(三十六)》,本文關(guān)鍵詞  史上,最簡單,的,MySQL,數(shù)據(jù)備份,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《史上最簡單的MySQL數(shù)據(jù)備份與還原教程(中)(三十六)》相關(guān)的同類信息!
  • 本頁收集關(guān)于史上最簡單的MySQL數(shù)據(jù)備份與還原教程(中)(三十六)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章