記錄一次mysql drop表恢復

2021-09-26 22:40:33 字數 667 閱讀 9046

資料庫

記錄一次資料drop表恢復

昨日生產環境部署時,同事給的上線sql檔案帶有drop語句,沒有檢查直接執行了。

搗騰了一夜,在上班之前恢復了該錶的資料。

該錶從17年錄入資料。

試用了:

1,基於binlog恢復工具mysqlbinlog_flashback

2,binlog2sql

3,myflash——美團點評的開源mysql閃回工具

4,undrop-for-innodb

5,mysqlbinlog(mysql 自帶)

前三款軟體,根據mysql日誌檔案,能生成回滾語句,drop命令不好使,drop語句,不會生成一條條的delete語句,無法生成;

第四款:是針對drop表使用的,(但是我沒有用成功)

最後是的思路是:

記錄好你想要回滾的時間-drop之前;

mysqldump備份現在所有的表和資料

在mysql的日誌檔案中,找到資料庫開始時間;

利用mysql 自帶mysqlbinlog工具按時間匯出sql, 目前匯入到處的sql檔案是從這個資料庫建立開始到drop之前,然後匯入資料庫,匯入成功後,最後檢視該錶資料恢復,匯出該錶,利用第一步匯出的資料庫檔案恢復資料庫,在恢復該錶。成功解決,不然第二天使用者使用就完犢子了。

記錄一次面試

怎麼觀察系統中 記憶體 行為 a.通過 proc zoneinfo 檔案,可以看到 free high low min pages 關係 free high 時候 一般不開啟 kswapd 執行緒 high free low 時,開啟 kswapd 執行緒 low free min時,alloc p...

記錄一次oracle使用記錄

使用oracle資料庫的專案到我這邊,需要修改,咱雖然 學過 oracle,但那畢竟已經過去了。哈哈。使用database configuration assistant 建立資料庫,建立快完的時候,說我沒有監聽啥的,然後 通過 net manager 建立了,qizhong1 其中選中的那個就是建...

一次向多個表中插入記錄

問題描述 有時需要將乙個表中的資料按照一定的條件分別一次性插入到多個表中,怎樣實現?oracle 使用insert all 或insert first語句。這兩種方法除了關鍵字all和first不同外,其語法相同。下面例子使用insert all create table medium orders...