阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

127次阅读
没有评论

共计 1585 个字符,预计需要花费 4 分钟才能阅读完成。

备份数据库时,采用了全库备份,但是因为某些原因需要回滚一个表的数据到备份数据库上,如果回滚整个库就比较费时间,因为可能这个表只有几十 M,但是其它表可能有十几上百 G,这时候就需要将需要恢复的表提取出来了

现在有备份库 fdcsqlMySQL-2018_11_30-03_00_01.sql,里面有多张表,现在需要恢复其中fdc_document 这张表的数据

提取建表语句
sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE ` 表名 `/!d;q' mysqldump.sql(备份文件的文件名)
sed -e '/./{H;$!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,完工!

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1585字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中