二十四 mysql資料備份與還原

2021-09-28 23:05:14 字數 2626 閱讀 2060

備份: 將當前已有的資料或者記錄保留。

還原: 將已經保留的資料恢復到對應的表中。

做備份和還原的原因:

防止資料丟失 被盜、誤刪除等

保護資料記錄

資料備份還原的方式有: 資料表備份、單錶資料備份、sql備份、增量備份。

資料表備份

定義: 不需要通過sql來備份,直接進入到資料庫資料夾複製對應的表結構及資料檔案,以後還原的時候,直接將備份的內容放進去即可。

資料表備份有前提條件, 根據不同的儲存引擎有不同的區別;

儲存引擎: mysql進行資料儲存的方式,主要是innodb和myisam兩種;

各種儲存引擎簡介如下圖:

myisam和innodb儲存引擎的對比: innodb只有表結構,資料全部儲存到idbatal檔案中;而myisam表資料和索引全部單獨分開儲存,其中.frm是結構檔案,.myd是資料,.myi是索引,這種檔案備份通常適用於myisam引擎,直接複製三個檔案即可;而innodb的資料表是依賴於資料庫的,不能單獨拿出乙個表進行使用;

單錶資料備份

定義: 每次只能備份一張表,只能備份資料(表結構不能備份),通常的使用是將表的資料進行匯出,匯出到檔案;

基本的備份操作: 從表中選出一部分資料儲存到外部的檔案中(outfile)

基本語法:select */字段列表 into outfile 檔案所在路徑 from 資料來源;注意事項:這條語句的前提是外部檔案不存在,這樣才能在指定路徑下建立檔案。

高階備份操作: 自己制定欄位和行的處理方式

基本語法:

select

*/字段列表 into

outfile 檔案所在路徑 fields 字段處理

lines 行處理 from 資料來源;

基本語法解析:

fields欄位處理                          

enclosed

by:字段使用什麼內容包裹,預設是』』,空字串

terminated

by:字段以後什麼結束,預設是』\t』,即tab鍵

escaped

by:特殊符號用什麼處理,預設是』\\』,用反斜槓轉義

lines行處理

starting

by:每行以什麼開始,預設是』』,即空字串

terminated

by:每行一什麼結束,預設是』\r\n』,即換行

例項:

select

*into

outfile 『d:/test/beifen.txt』

fields enclose by 『」』 --雙引號包裹

terminated

by 『|』 --使用豎線分隔字段資料

lines

starting

by 『start:』 --行處理

from my_class;

--資料來源

資料還原: 將乙個在外部儲存的資料重新恢復到表中(如果表結構不存在,那麼是不能還原的);

基本語法:

load

data

infile 檔案所在路徑 into

table 表名[

(字段列表)

]fields 字段處理 lines 行處理;

--怎麼備份的怎麼還原(主要在字段處理和行處理的說明)

sql備份

定義: 備份的是sql語句,系統會對錶結構以及資料進行處理,完成對應的sql語句,然後進行備份,還原的時候只要執行sql指令即可;(主要備份表結構)。

備份的具體操作: mysql沒有提供備份指令,但是可以用mysql提供的軟體「mysqldump.exe」;mysqldump.exe也是一種客戶端,需要操作伺服器,必須連線認證,具體操作如下:

mysqldump -uroot [

-h 主機名,預設為本機]

-proot 資料庫名字 [資料表名字]

[,資料表名字,].

..> 外部檔案目錄(建議使用.

sql檔案)

//整庫備份的例項:將mydatabase備份至d:/server/text.sql下

mysqldump -uroot -proot mydatabase > d:/server/

text

.sql

sql還原資料:

使用mysql.exe客戶端還原:mysql -uroot -proot 資料庫名字 < 備份目錄使用sql指令還原:source 備份檔案所在路徑;

sql備份的優缺點:

優點:可以備份結構

缺點:會浪費空間(額外的增加sql指令)

增量備份

定義: 不是針對資料或者sql指令進行備份,而是針對mysql伺服器的日誌檔案進行備份。

增量備份的具體做法: 指定時間段開始進行備份,備份資料不會重複,而且所有的操作都會備份,大型專案基本都用增量備份。

資料結構與演算法(二十四)

給定乙個陣列和滑動視窗的大小,請找出所有滑動視窗裡的最大值。例如,如果輸入陣列及滑動視窗的大小3,那麼一共存在6個滑動視窗,它們的最大值分別為 1 乙個滑動視窗可以看成乙個佇列。當視窗滑動時,處於視窗的第乙個數字被刪除,同時在視窗的末尾新增乙個新的數字。這符合佇列 先進先出 特性。2 題意 陣列中的...

MySQL 資料備份與還原

一 資料備份 1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條ins...

MySQL 資料備份與還原

1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...