從mysqldump的備份檔案中恢復一張表

2021-09-21 09:32:05 字數 1265 閱讀 4255

有時需從mysqldump備份檔案恢復一張表的資料,通常有兩種做法:

1):將整個檔案匯入測試server中,再mysqldump匯出需要的表,再匯入線上server。

如果庫的量很少,這樣倒是也不慢,可當庫的量有一定的級別了,就會很慢。很可能備份時使用了壓縮,再需要解壓縮的步驟。

2):通過mysql>show tables;檢視到mysqldump備份時的表的備份順序,其和show tables的看的順序一樣的。鎖定了表的位置,通過awk或sed取出其需要的表資料。

針對方法2:

假如你show tables的結果為:

table_1

table_2

table_3

.......

table_n

此時想恢復table_10的資料時,使用awk做如下操作:

1

zcat mysqldump.date.sql.gz|awk'/^-- table structure for table `table_10`/,/^-- table structure for table `table_11`/'>/tmp/table_10.sql

注意:awk的''和""的區別,假如""中使用``就會報錯;其中``可以替換為..。如下

1

zcat mysqldump.date.sql.gz|awk"/^-- table structure for table .table_10./,/^-- table structure for table .table_11./">/tmp/table_10.sql

使用sed作如下操作:

1

zcat mysqldump.date.sql.gz |sed -n -e'/-- table structure for table `table_10`/,/-- table structure for table `table_11`/p'>/tmp/table_10.sql

其實方法2就是要知道,show tables的表順序和mysqldump時的順序相同;其次是dump出的檔案特殊標誌-- table structure for table `table_n` 。

從mysqldump整庫備份檔案中恢復單錶

最近,系統更新出現了問題,比較緊急,需要對三張表進行回檔。由於我們都是採用mysqldump進行每天全備整庫,資料量比較大,乙個備份檔案大概有70g,需要從這個70g檔案中恢復三張表,真是蛋疼至極啊,搞了整整乙個下午,下面就介紹下具體操作。1 採用grep查詢 由於mysqldump檔案匯出的是in...

vim備份檔案

vim 一般來說vim不會備份檔案,你可以執行 cp usr share vim vim64 vimrc example.vim vimrc 將vimrc example.vim拷貝到當前使用者的主目錄並改名為.vimrc,該檔案裡面如下 就開啟了vim的備份功能 if has vms setnob...

Centos7備份檔案時備份檔案加入備件日期

linux是以檔案為基礎來管理系統中的裝置 介面 檔案 啟動及應用軟體,因為在本時過程中,對應用系統的.c檔案 指令碼軟體 shell等在編輯時都要求先做備份。一般我對重要檔案進行操作時,都要對檔案先進行備份,如 01 新建乙個檔案 02 備件test copy檔案 cp home hdnnadmi...