mysql各種故障場景的資料恢復手段彙總

2021-10-08 05:19:40 字數 923 閱讀 4093

分場景,對於mysql的資料恢復做一下總結:

一、有全備份

1、物理備份

比如使用xtrabackup,庫級別的恢復,直接新搭建乙個庫,進行恢復就行。

對於表級別的快速恢復,可以使用恢復表空間,直接拷貝ibd檔案就ok(myisam直接拷貝授權即可,innodb還需要執行alter table t discard/import tablespace)

2、邏輯備份

比如使用mydumper,庫級別可以直接恢復。表級別可以恢復單個的sql檔案。

對於mysqldump,恢復單錶可以使用如下方法

sed -e'/./'

-e 'x;/create table `order`/!d;q'

/backup/order.sql

grep 'insert into `order`'

/backup/dbname.sql > order_data.sql

對於恢復到固定某個時間點,可以使用已有的binlog去追,具體方法可以手動執行,也可以搭建從庫進行追資料。

二,沒有全備份,但是有資料庫建立之初到故障發生點的所有binlog。

該場景在現實中很少的,因為很少有公司不進行全備,但又會保留所有的歷史binlog。

該場景就是建立乙個新的資料庫,從binlog file1開始同步,追主庫。

三、全備,binlog都沒有

1、恢復delete的資料

可以考慮percona-data-recovery-tool-for-innodb工具

2、恢復drop 表的資料

可以考慮使用undrop-for-innodb工具

3、有從庫的話,考慮使用主從切換

四、對於rm類刪除

在沒有備份的情況下,如果伺服器沒有重啟,可以複製/proc/$pid/fd檔案來進行恢復

IBM DS5300儲存磁碟陣列故障資料恢復成功

需要進行資料恢復的伺服器型號為ibm ds5300儲存裝置,包含乙個儲存機頭和多個儲存擴充套件櫃,建立了2組raid 5磁碟陣列。發生故障的陣列組為客戶伺服器中的3號磁碟櫃中的raid5陣列,該陣列共有15塊成員盤和1塊熱備硬碟組成。伺服器在使用過程中3號磁碟櫃中的11號硬碟離線,由16號熱備硬碟替...

sqlsqerver delete資料的恢復

昨日用在sqlsqerver 中delete去刪除資料時,忘了帶where語句了,f5後後悔已來不及了,大量的使用者資料註冊資料全沒了,冷汗都出來了,這可以使用者資訊呀 且上次資料庫備份是乙個月的,沒辦法,只能想辦法自已恢復了.在網上看到 log explorer 可以恢復資料.抱著試試看下了乙個,...

Oracle和MySQL資料庫的備份與恢復

oracle 最簡單的備份與恢復的例子 匯出 exp scott tiger orcl file c wolfetest export scott data.dmp 匯入 imp scott tiger orcl file c wolfetest export scott data.dmp 注意 在...