欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年09月10日 11:53:00   作者:維C果糖  
這篇文章主要為大家詳細(xì)介紹了史上最簡(jiǎn)單的MySQL數(shù)據(jù)備份與還原教程中篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

基礎(chǔ)概念:

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

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

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

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

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

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

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

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

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

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

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

執(zhí)行如下 SQL 語(yǔ)句,進(jìn)行測(cè)試:

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

1

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

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

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

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

2

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

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

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

執(zhí)行如下 SQL 語(yǔ)句,進(jìn)行測(cè)試:

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

3

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

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

字段處理:

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

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

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

行處理:

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

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

執(zhí)行如下 SQL 語(yǔ)句,進(jìn)行測(cè)試:

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

4

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

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

執(zhí)行如下 SQL 語(yǔ)句,進(jìn)行測(cè)試:

-- 刪除表 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;

5

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL百萬(wàn)級(jí)數(shù)據(jù)量分頁(yè)查詢方法及其優(yōu)化建議

    MySQL百萬(wàn)級(jí)數(shù)據(jù)量分頁(yè)查詢方法及其優(yōu)化建議

    這篇文章主要介紹了MySQL百萬(wàn)級(jí)數(shù)據(jù)量分頁(yè)查詢方法及其優(yōu)化建議,幫助大家更好的處理MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-08-08
  • windows下安裝mysql8.0.18的教程(社區(qū)版)

    windows下安裝mysql8.0.18的教程(社區(qū)版)

    本文章簡(jiǎn)單介紹一下mysql在windows下的安裝方式,主要介紹了mysql社區(qū)版8.0.18版本,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2020-01-01
  • MySQL與存儲(chǔ)過程的相關(guān)資料

    MySQL與存儲(chǔ)過程的相關(guān)資料

    這篇文章主要介紹了MySQL與存儲(chǔ)過程的相關(guān)資料,需要的朋友可以參考下
    2007-03-03
  • MySQL表中添加時(shí)間戳的幾種方法

    MySQL表中添加時(shí)間戳的幾種方法

    這篇文章主要介紹了MySQL表中添加時(shí)間戳的幾種方法,有張表的數(shù)據(jù)需要用同步工具同步至其他庫(kù),需要 update_time 時(shí)間戳字段 來(lái)做增量同步,需要的朋友可以參考下
    2019-06-06
  • MySQL中UPDATE與DELETE語(yǔ)句的使用教程

    MySQL中UPDATE與DELETE語(yǔ)句的使用教程

    這篇文章主要介紹了MySQL中UPDATE與DELETE語(yǔ)句的使用教程,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-12-12
  • mysql性能優(yōu)化之索引優(yōu)化

    mysql性能優(yōu)化之索引優(yōu)化

    我們首先討論索引,因?yàn)樗羌涌觳樵兊淖钪匾墓ぞ摺.?dāng)然還有其他加快查詢的技術(shù),但是最有效的莫過于恰當(dāng)?shù)厥褂盟饕?。下面我們就?lái)介紹索引是什么、它怎樣改善查詢性能、索引在什么情況下可能會(huì)降低性能,以及怎樣為表選擇索引。
    2015-12-12
  • MySql Sql 優(yōu)化技巧分享

    MySql Sql 優(yōu)化技巧分享

    這篇文章主要介紹了MySql Sql 優(yōu)化技巧分享,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • php利用GD庫(kù)生成縮略圖示例

    php利用GD庫(kù)生成縮略圖示例

    本文為大家介紹下php如何利用GD庫(kù)生成縮略圖的,下面有個(gè)不錯(cuò)的示例,大家可以參考下
    2014-01-01
  • MySQL 發(fā)生同步延遲時(shí)Seconds_Behind_Master還為0的原因

    MySQL 發(fā)生同步延遲時(shí)Seconds_Behind_Master還為0的原因

    騰訊云數(shù)據(jù)庫(kù) MySQL 的只讀實(shí)例出現(xiàn)了同步延遲,但是監(jiān)控的延遲時(shí)間顯示為 0,而且延遲的 binlog 距離非 0,且數(shù)值越來(lái)越大。臨時(shí)解決之后,仔細(xì)想了一想,Seconds_Behind_Master 雖然計(jì)算方式有點(diǎn)坑,但是出現(xiàn)這么“巨大”的誤差還是挺奇怪的,本文就來(lái)分析下這個(gè)問題
    2021-06-06
  • MySQL之select in 子查詢優(yōu)化的實(shí)現(xiàn)

    MySQL之select in 子查詢優(yōu)化的實(shí)現(xiàn)

    這篇文章主要介紹了MySQL之select in 子查詢優(yōu)化的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論