从mysql全库备份中恢复指定库和指定表

时间:2021-07-02 14:46:02

需求:开发要求导入某天某个表的数据,而我们的数据是全库备份

例如:  从newbei_2017-08-31_402793782.tar.bz2中恢复表:bei_table 的数据

一、备份策略

备份全库的数据:newbei

二、解压

tar xvf newbei_2017-08-31_402793782.tar.bz2    #解压后的文件名为:newbei_2017-08-31.sql

sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `bei_table `/!d;q' newbei_2017-08-31.sql >>bei_table_2017-08-31.sql       #导出创建表语句

grep -i 'INSERT INTO `bei_table`' newbei_2017-08-31.sql >> bei_table_2017-08-31.sql     #过滤导出bei_table的insert语句

三、导入数据

use beipw

source bei_table_2017-08-31.sql;