mysql的日備份和周備份 MySQL完全備份

2021-10-18 12:17:50 字數 2575 閱讀 4488

在生成環境中,資料的安全性是至關重要的,任何資料的丟失都可能產生嚴重的後果

使用資料庫過程中,有多種原因造成資料的丟失:

1 程式錯誤:指對資料庫操作的程式難免有些錯誤,造成資料丟失

2 人為錯誤:指由於使用人員的誤操作造成的資料破壞,還有可能是黑 客對系統×××造成的資料丟失等

3 計算機失敗:指執行資料庫的伺服器作業系統或軟體破壞,有可能造成資料的損壞

4 磁碟失敗:指硬碟等儲存資料的硬體裝置,長時間執行後可能損壞,造成資料丟失

5 災難:火災,**,偷竊等現象,都有可能造成資料丟失

資料庫備份的分類:

1 物理備份:指對資料庫作業系統的物理檔案(如資料檔案,日誌檔案)的備份。物理備份又可以分為離線備份(冷備份)和聯機備份(熱備份)

冷備份:在關閉資料庫時進行的備份操作,能夠較好的儲存資料庫的完整性

熱備份:在資料庫執行狀態中進行操作,這種備份方法依賴於資料庫的日誌檔案

2 邏輯備份:指對資料庫邏輯元件(如表等資料庫物件)的備份

從資料庫的備份策略角度,備份可以分為完全備份,差異備份和增量備份

(2)差異備份:備份那些自從上次完全備份之後被修改過的檔案,只備份資料庫的部分內容。它比完全備份要小,因為只包含自上次完全備份以來所改變的資料庫。優點是儲存和恢復速度快

(3)增量備份:只有那些在上次完全備份或者增量備份後被修改的檔案才會被備份

下面我將對資料庫進行完全備份

一 使用tar打包資料夾備份

mysql的資料庫檔案預設都是儲存在安裝目錄的data資料夾下面,可以直接儲存data資料夾,但是占用的的空間較大,可以使用tar打包壓縮進行儲存

1在data目錄下可以看到一些資料庫檔案

2檢視系統中有沒有xz工具包,如果沒有可以用yum安裝

3使用tar命令,將data目錄下的檔案打包到/opt目錄下,在/opt目錄下可以看到有乙個壓縮包,如果資料庫檔案損壞,直接把壓縮檔案解壓過去即可

二 使用mysqldump工具備份

1 首先我創了school和school01兩個庫,同時在school的庫中建了一張名為class的表

2 我開始對庫進行備份

備份乙個庫 mysqldump -u 使用者名稱 -p [密碼] [選項] [資料庫名] > /備份路徑/備份檔案名

備份多個庫 mysqldump -u 使用者名稱 -p [密碼] [選項] --databases 庫名1 庫名2... >  /備份路徑/備份檔案名

備份所有庫 myqsldump -u 使用者名稱 -p [密碼] [選項] --all-databases > /備份路徑/備份檔案名

3 對class表進行備份

備份一張表 mysqldump -u 使用者名稱 -p [密碼] [選項] [資料庫名] [資料表名] > /備份路徑/備份檔案名

mysqldump -u 使用者名稱 -p [密碼] -d [資料庫名] [資料表名] > /備份路徑/備份檔案名   #-d表示對這張表的結構進行備份

三 恢復整庫

1 刪除兩個資料庫

2使用mysql命令恢復,不登入資料庫,直接 'mysql -u 使用者名稱 -p [密碼] < 庫備份指令碼的路徑',在恢復之前需要將原來的資料庫刪除

3使用source命令恢復,登入資料庫後,輸入命令『source 備份指令碼的路徑』,在恢復前也要刪除原有資料庫

#注意如果在備份資料庫時沒有加上database,那麼在恢復時需要重新建立乙個資料庫

四 恢復表

1 進入資料庫,刪除原有的表

2 在資料庫中使用source命令直接恢復,'source 備份指令碼路徑'

3 使用mysql命令恢復表,『mysql -u 使用者名稱 -p [密碼] 庫名 < 庫備份指令碼的路徑』   #注意這條命令中需要指定庫名

4檢視表,可以看到刪除的表已經被恢復了

MySQL按日備份

經常我們要做一些資料庫的備份,主要的備份有三種 第一種 實時備份,表現為主從備份 第二種 非實時的備份,表現為按日,按星期備份等 第三種 異地備份,表現為災備,這種一般是銀行,大機構使用。今天我們來 下按日備份 我們首先編寫一段這樣的指令碼 mysqldump uroot p666666 safe ...

mysql的備份和還原 mysql備份和還原

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

mysql 邏輯備份 mysql的邏輯備份和恢復

備份指定的資料庫或此資料庫中的某些表 mysqldump options db name tables backup.sql 備份指定的乙個或多個資料庫 mysqldump databases 資料庫1 資料庫2 資料庫3 backup.sql 備份所有的資料庫 mysqldump all data...