MySQL(四)資料備份與還原

2023-01-22 06:55:47 字數 2231 閱讀 4345

資料備份與還原:

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

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

為什麼要做備份還原:

1、防止資料丟失:被盜、誤操作

2、保護資料的記錄

資料備份還原的方式很多:資料表備份、單表資料備份、sql備份、增量備份

一、資料表備份:(不推薦使用)

不需要通過sql來備份,直接進入到資料庫資料夾複製對應的表結構以及資料檔案,以後還原的時候,直接將備份的內容放進去即可。(這種檔案備份通常適用於myisam儲存引擎:直接三個檔案就可以了,innodb不行,識別不了。)

有前提條件:根據不同的儲存引擎有不同的區別;

儲存引擎:mysql進行資料的儲存方式:主要有兩種:innodb和myisam(因為這兩種免費)

對比myisam和innodb:資料儲存方式

innodb:只有表結構,資料全部儲存到ibdata1檔案中。

myisam:表、資料和索引全部單獨分開儲存。(證明如下圖)

二、單表資料備份

每次只能備份一張表,只能備份資料(表結構不可以備份)

通常使用,將表中的資料進行匯出檔案。

備份:從表中選出一部分資料儲存到外部檔案中。

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”,換行符

三、資料的還原

將一個在外部儲存的資料重新恢復到表中(如果表結構不存在,那麼就恢復不了了)

load data infile 檔案所在路徑 into table 表名【(欄位列表)】 fields 欄位處理 lines 行處理    ——怎麼備份,怎麼還原。

四、sql備份

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

備份:mysql沒有提供備份指令,但是可以利用mysql提供的軟體:mysqldump.exe

mysqldump.exe也是一種客戶端,需要操作伺服器,必須連線認證

1、單表備份:

mysqldump/mysqldump.exe-hpup 資料庫名字 【資料表名字 1【資料表名字2……】】>外部檔案目錄(建議使用.sql)

2、整庫備份

mysqldump/mysqldump.exe-hpup 資料庫名字 >外部檔案目錄(建議使用.sql)

五、sql還原資料

優缺點:

優點:可以備份結構

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

1、使用mysql.exe 客戶端還原

mysql.exe/mysql-hpup 資料庫名字 < 備份檔案目錄

2、使用sql指令還原

source 備份檔案所在路徑

六、增量備份(大的專案一般會用增量備份)

不是針對資料或者sql指令進行備份:是針對mysql伺服器的日誌進行備份

增量備份:是指定時間段進行備份,備份資料不會重複,而且所有的操作都會備份。

mysql資料備份與還原

本地 1.進入mysql目錄下的bin資料夾 e 回車 e cd mysql bin?回車 2.匯出資料庫 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 範例 mysqldump uroot p abc abc.sql 匯出資料庫abc到abc.sql檔案 提示輸入密碼時,輸入該資料...

MySQL 資料備份與還原

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

MySQL 資料備份與還原

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