備份: 將當前已有的資料或者記錄保留。
還原: 將已經保留的資料恢復到對應的表中。
做備份和還原的原因:
防止資料丟失 被盜、誤刪除等
保護資料記錄
資料備份還原的方式有: 資料表備份、單錶資料備份、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語句。然...