怎么在MySQL中使用全库备份数据恢复单表数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
提取建表语句
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
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。