MySQL用全库备份数据恢复单表数据

备份数据库时,采用了全库备份,但是因为某些原因需要回滚一个表的数据到备份数据库上,如果回滚整个库就比较费时间,因为可能这个表只有几十M,但是其它表可能有十几上百G,这时候就需要将需要恢复的表提取出来了
现在有备份库fdcsqlmysql-2018_11_30-03_00_01.sql,里面有多张表,现在需要恢复其中fdc_document这张表的数据
提取建表语句sed -e ‘/./{H;KaTeX parse error: Expected 'EOF', got '}' at position 4: !d;}̲' -e 'x;/CREATE…!d;}’ -e ‘x;/CREATE TABLE fdc_document/!d;q’ fdcsqlmysql-2018_11_30-03_00_01.sql

DROP TABLE IF EXISTS fdc_document;/*!40101 SET @saved_cs_client =
@@character_set_client /;/!40101 SET character_set_client = utf8 /;
CREATE TABLE fdc_document ( id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘文档ID’, uid int(10) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘用户ID’, name char(40) NOT NULL DEFAULT ‘’ COMMENT ‘标识’, … … … entrust_rule tinyint(3) unsigned NOT NULL DEFAULT ‘0’ COMMENT ’ 经纪人点击是否和用户签委托协议:1为有;0为没有’, audit tinyint(3) NOT NULL DEFAULT ‘0’ COMMENT ‘审核:0为未审核;1为图片已审核;2为描述已审核;3为图片和描述都已审核’, PRIMARY KEY (id), KEY idx_area_house (partition,category_id,status,is_off) USING BTREE, KEY idx_model_house (model_id,status,is_off) USING BTREE, KEY idx_community_house (community_id,estate,status,is_off) USING BTREE, KEY idx_uid_house (uid,model_id,is_off) USING BTREE, KEY idx_pid_house (id,pid,status,is_off) USING BTREE, KEY is_video (is_video) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=211138 DEFAULT CHARSET=utf8;/
!40101 SET character_set_client = @saved_cs_client */;

提取表数据
grep ‘INSERT INTO表名’ mysqldump.sql(备份文件的文件名) > table_data.sql
这里应该执行grep ‘INSERT INTOfdc_document’ fdcsqlmysql-2018_11_30-03_00_01.sql > document.sql
执行完后会得到文件document.sql,这就是需要的单独的表文件,就可以正常恢复表数据了
建库建表
先创建数据库,再根据上面的SQL语句创建表fdc_document
导入表数据MySQL [document]> souce /data/backup/mysql/document.sql
OK,完工!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值